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;