Go to main content

Managing SMB File Sharing and Windows Interoperability in Oracle® Solaris 11.3

Exit Print View

Updated: December 2017
 
 

SMB DTrace Arguments

This section describes the arguments that you use for the various SMB DTrace probes.

All probes use the first and second arguments, which are shown in the following code fragment:

args[0]        conninfo_t *        socket connection information
args[1]        smbopinfo_t *       SMB operation properties

typedef struct conninfo {
	string ci_local;        /* local host address */
	string ci_remote;       /* remote host address */
	string ci_protocol;     /* protocol (ipv4, ipv6, etc) */
} conninfo_t;

typedef struct smbopinfo {
	cred_t   *soi_cred;   /* credentials for operation */
	string   soi_curpath; /* current file handle path (if any) */
	uint64_t soi_sid;     /* session id */
	uint32_t soi_pid;     /* process id */
	uint32_t soi_status;  /* status */
	uint16_t soi_tid;     /* tree id */
	uint16_t soi_uid;     /* user id */
	uint16_t soi_mid;     /* request id */
	uint16_t soi_flags2;  /* flags2 */
	uint8_t  soi_flags;   /* flags */
} smbopinfo_t;

Read operation probes also use the third argument, which is shown in the following code fragment:

args[2]	smbReadArgs_t *

typedef struct smbReadArgs {
	off_t	soa_offset;
	uint_t	soa_count;
} smbReadArgs_t;

Write operation probes also use the third argument, which is shown in the following code fragment:

args[2]	smbWriteArgs_t *

typedef struct smbWriteArgs {
	off_t	soa_offset;
	uint_t	soa_count;
} smbWriteArgs_t;