Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../../usr/lib/dtrace/smb.d
Real path: /usr/lib/dtrace/smb.d
Zurück
/* * Copyright (c) 2009, 2023, Oracle and/or its affiliates. */ #pragma D depends_on library ip.d #pragma D depends_on library net.d #pragma D depends_on module genunix #pragma D depends_on module smbsrv typedef struct smbopinfo { cred_t *soi_cred; /* credentials for operation */ string soi_curpath; /* current file handle path (if any) */ uint64_t soi_sid; uint32_t soi_pid; uint32_t soi_status; uint16_t soi_tid; uint16_t soi_uid; uint16_t soi_mid; uint16_t soi_flags2; uint8_t soi_flags; } smbopinfo_t; typedef struct smb2opinfo { cred_t *soi_cred; /* credentials for operation */ string soi_curpath; /* current file handle path (if any) */ uint64_t soi_sid; uint64_t soi_asyncid; uint64_t soi_uid; uint64_t soi_mid; uint32_t soi_tid; uint32_t soi_status; uint32_t soi_flags; uint16_t soi_credit; uint16_t soi_dialect; } smb2opinfo_t; typedef struct smbReadArgs { off_t soa_offset; uint_t soa_count; } smbReadArgs_t; typedef struct smbWriteArgs { off_t soa_offset; uint_t soa_count; } smbWriteArgs_t; #pragma D binding "1.6" translator translator conninfo_t < smb_request_t *P > { ci_protocol = P->sr_conn->c_sock->sk_family == AF_INET ? "ipv4" : "ipv6"; ci_local = P->sr_conn->c_sock->sk_family == AF_INET ? inet_ntoa(&P->sr_conn->c_sock->sk_local_addr.v4.sin_addr.S_un.S_addr) : inet_ntoa6(&P->sr_conn->c_sock->sk_local_addr.v6.sin6_addr); ci_remote = P->sr_conn->c_sock->sk_family == AF_INET ? inet_ntoa(&P->sr_conn->c_sock->sk_remote_addr.v4.sin_addr.S_un.S_addr) : inet_ntoa6(&P->sr_conn->c_sock->sk_remote_addr.v6.sin6_addr); }; #pragma D binding "1.6" translator translator smbopinfo_t < smb_request_t *P > { soi_cred = (cred_t *)P->sr_cred; soi_curpath = (P->sr_ofile == NULL || P->sr_ofile->f_node == NULL || P->sr_ofile->f_node->n_inode->in_vp->v_path == NULL) ? "<unknown>" : P->sr_ofile->f_node->n_inode->in_vp->v_path; soi_sid = P->sr_conn->c_kid; soi_pid = (P->sr_header.h_smb1.hd_pidhigh << 16) + P->sr_header.h_smb1.hd_pidlow; soi_status = P->sr_header.h_smb1.hd_errcode.se_status; soi_tid = P->sr_header.h_smb1.hd_tid; soi_uid = P->sr_header.h_smb1.hd_uid; soi_mid = P->sr_header.h_smb1.hd_mid; soi_flags2 = P->sr_header.h_smb1.hd_flags2; soi_flags= P->sr_header.h_smb1.hd_flags; }; /* SMB2_FLAGS_ASYNC_COMMAND 0x00000002 */ #pragma D binding "1.6" translator translator smb2opinfo_t < smb_request_t *P > { soi_cred = (cred_t *)P->sr_cred; soi_curpath = (P->sr_ofile == NULL || P->sr_ofile->f_node == NULL || P->sr_ofile->f_node->n_inode->in_vp->v_path == NULL) ? "<unknown>" : P->sr_ofile->f_node->n_inode->in_vp->v_path; soi_sid = P->sr_conn->c_kid; soi_asyncid = (P->sr_header.h_smb2.hd_flags & 0x00000002) ? P->sr_header.h_smb2.hd_asyncid : 0; soi_uid = P->sr_header.h_smb2.hd_uid; soi_mid = P->sr_header.h_smb2.hd_mid; soi_tid = (P->sr_header.h_smb2.hd_flags & 0x00000002) ? 0 : P->sr_header.h_smb2.hd_tid; soi_status = P->sr_header.h_smb2.hd_errcode.se_status; soi_flags= P->sr_header.h_smb2.hd_flags; soi_credit= P->sr_header.h_smb2.hd_credit; soi_dialect = P->sr_conn->c_dialect; }; #pragma D binding "1.6" translator translator smbReadArgs_t < smb_rw_param_t *P > { soa_offset = P->rw_offset; soa_count = P->rw_count; }; #pragma D binding "1.6" translator translator smbWriteArgs_t < smb_rw_param_t *P > { soa_offset = P->rw_offset; soa_count = P->rw_count; };