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;