📄 rpc_srvsvc.h
字号:
/* use the CSC policy mask and shift to match up with the smb.conf parm */#define SHARE_1005_CSC_POLICY_MASK 0x00000030#define SHARE_1005_CSC_POLICY_SHIFT 4typedef struct share_info_1005_info{ uint32 share_info_flags; } SRV_SHARE_INFO_1005;typedef struct share_info_1006_info{ uint32 max_uses; } SRV_SHARE_INFO_1006;typedef struct ptr_share_info1007{ uint32 flags; uint32 ptr_AlternateDirectoryName;} SH_INFO_1007;typedef struct str_share_info1007{ SH_INFO_1007 *ptrs; UNISTR2 uni_AlternateDirectoryName;} SH_INFO_1007_STR;typedef struct ptr_info_1007_info{ SH_INFO_1007 info_1007; SH_INFO_1007_STR info_1007_str; } SRV_SHARE_INFO_1007;/* SRV_SHARE_INFO_1501 */typedef struct share_info_1501_info{ SEC_DESC_BUF *sdb;} SRV_SHARE_INFO_1501;/* SRV_SHARE_INFO_CTR */typedef struct srv_share_info_ctr_info{ uint32 info_level; uint32 switch_value; uint32 ptr_share_info; uint32 num_entries; uint32 ptr_entries; uint32 num_entries2; union { SRV_SHARE_INFO_0 *info0; SRV_SHARE_INFO_1 *info1; /* share info level 1 */ SRV_SHARE_INFO_2 *info2; /* share info level 2 */ SRV_SHARE_INFO_501 *info501; /* share info level 501 */ SRV_SHARE_INFO_502 *info502; /* share info level 502 */ SRV_SHARE_INFO_1004 *info1004; SRV_SHARE_INFO_1005 *info1005; SRV_SHARE_INFO_1006 *info1006; SRV_SHARE_INFO_1007 *info1007; SRV_SHARE_INFO_1501 *info1501; void *info; } share;} SRV_SHARE_INFO_CTR;/* SRV_Q_NET_SHARE_ENUM */typedef struct q_net_share_enum_info{ uint32 ptr_srv_name; /* pointer (to server name?) */ UNISTR2 uni_srv_name; /* server name */ SRV_SHARE_INFO_CTR ctr; /* share info container */ uint32 preferred_len; /* preferred maximum length (0xffff ffff) */ ENUM_HND enum_hnd;} SRV_Q_NET_SHARE_ENUM;/* SRV_R_NET_SHARE_ENUM */typedef struct r_net_share_enum_info{ SRV_SHARE_INFO_CTR ctr; /* share info container */ uint32 total_entries; /* total number of entries */ ENUM_HND enum_hnd; WERROR status; /* return status */} SRV_R_NET_SHARE_ENUM;/* SRV_Q_NET_SHARE_GET_INFO */typedef struct q_net_share_get_info_info{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; uint32 info_level;} SRV_Q_NET_SHARE_GET_INFO;/* SRV_SHARE_INFO */typedef struct srv_share_info { uint32 switch_value; uint32 ptr_share_ctr; union { SRV_SHARE_INFO_0 info0; SRV_SHARE_INFO_1 info1; SRV_SHARE_INFO_2 info2; SRV_SHARE_INFO_501 info501; SRV_SHARE_INFO_502 info502; SRV_SHARE_INFO_1004 info1004; SRV_SHARE_INFO_1005 info1005; SRV_SHARE_INFO_1006 info1006; SRV_SHARE_INFO_1007 info1007; SRV_SHARE_INFO_1501 info1501; } share;} SRV_SHARE_INFO;/* SRV_R_NET_SHARE_GET_INFO */typedef struct r_net_share_get_info_info{ SRV_SHARE_INFO info; WERROR status;} SRV_R_NET_SHARE_GET_INFO;/* SRV_Q_NET_SHARE_SET_INFO */typedef struct q_net_share_set_info_info{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; uint32 info_level; SRV_SHARE_INFO info; uint32 ptr_parm_error; uint32 parm_error;} SRV_Q_NET_SHARE_SET_INFO;/* SRV_R_NET_SHARE_SET_INFO */typedef struct r_net_share_set_info{ uint32 ptr_parm_error; uint32 parm_error; WERROR status; /* return status */} SRV_R_NET_SHARE_SET_INFO;/* SRV_Q_NET_SHARE_ADD */typedef struct q_net_share_add{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; uint32 info_level; SRV_SHARE_INFO info; uint32 ptr_err_index; /* pointer to error index */ uint32 err_index; /* index in info to field in error */} SRV_Q_NET_SHARE_ADD;/* SRV_R_NET_SHARE_ADD */typedef struct r_net_share_add{ uint32 ptr_parm_error; uint32 parm_error; WERROR status; /* return status */} SRV_R_NET_SHARE_ADD;/* SRV_Q_NET_SHARE_DEL */typedef struct q_net_share_del{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; uint32 reserved;} SRV_Q_NET_SHARE_DEL;/* SRV_R_NET_SHARE_DEL */typedef struct r_net_share_del{ WERROR status; /* return status */} SRV_R_NET_SHARE_DEL;/* FILE_INFO_3 (level 3 file info strings) */typedef struct file_info3_info{ uint32 id; /* file index */ uint32 perms; /* file permissions. don't know what format */ uint32 num_locks; /* file locks */ uint32 ptr_path_name; /* file name */ uint32 ptr_user_name; /* file owner */} FILE_INFO_3;/* FILE_INFO_3_STR (level 3 file info strings) */typedef struct str_file_info3_info{ UNISTR2 uni_path_name; /* unicode string of file name */ UNISTR2 uni_user_name; /* unicode string of file owner. */} FILE_INFO_3_STR;/* SRV_FILE_INFO_3 */typedef struct srv_file_info_3{ uint32 num_entries_read; /* EntriesRead */ uint32 ptr_file_info; /* Buffer */ uint32 num_entries_read2; /* EntriesRead */ FILE_INFO_3 info_3; /* file entry details */ FILE_INFO_3_STR info_3_str; /* file entry strings */} SRV_FILE_INFO_3;/* SRV_FILE_INFO_CTR */typedef struct srv_file_info_3_info{ uint32 switch_value; /* switch value */ uint32 ptr_file_info; /* pointer to file info union */ uint32 num_entries; uint32 ptr_entries; uint32 num_entries2; union { SRV_FILE_INFO_3 *info3; } file;} SRV_FILE_INFO_CTR;/* SRV_Q_NET_FILE_ENUM */typedef struct q_net_file_enum_info{ uint32 ptr_srv_name; /* pointer (to server name?) */ UNISTR2 uni_srv_name; /* server name */ uint32 ptr_qual_name; /* pointer (to qualifier name) */ UNISTR2 uni_qual_name; /* qualifier name "\\qualifier" */ uint32 ptr_user_name; /* pointer (to user name) */ UNISTR2 uni_user_name; /* user name */ uint32 file_level; /* file level */ SRV_FILE_INFO_CTR ctr; uint32 preferred_len; /* preferred maximum length (0xffff ffff) */ ENUM_HND enum_hnd;} SRV_Q_NET_FILE_ENUM;/* SRV_R_NET_FILE_ENUM */typedef struct r_net_file_enum_info{ uint32 file_level; /* file level */ SRV_FILE_INFO_CTR ctr; uint32 total_entries; /* total number of files */ ENUM_HND enum_hnd; WERROR status; /* return status */} SRV_R_NET_FILE_ENUM;/* SRV_Q_NET_FILE_CLOSE */typedef struct q_net_file_close{ uint32 ptr_srv_name; /* pointer to server name */ UNISTR2 uni_srv_name; /* server name */ uint32 file_id;} SRV_Q_NET_FILE_CLOSE;/* SRV_R_NET_FILE_CLOSE */typedef struct r_net_file_close{ WERROR status; /* return status */} SRV_R_NET_FILE_CLOSE;/* SRV_INFO_100 */typedef struct srv_info_100_info{ uint32 platform_id; /* 0x500 */ uint32 ptr_name; /* pointer to server name */ UNISTR2 uni_name; /* server name "server" */} SRV_INFO_100;/* SRV_INFO_101 */typedef struct srv_info_101_info{ uint32 platform_id; /* 0x500 */ uint32 ptr_name; /* pointer to server name */ uint32 ver_major; /* 0x4 */ uint32 ver_minor; /* 0x2 */ uint32 srv_type; /* browse etc type */ uint32 ptr_comment; /* pointer to server comment */ UNISTR2 uni_name; /* server name "server" */ UNISTR2 uni_comment; /* server comment "samba x.x.x blah" */} SRV_INFO_101;/* SRV_INFO_102 */typedef struct srv_info_102_info{ uint32 platform_id; /* 0x500 */ uint32 ptr_name; /* pointer to server name */ uint32 ver_major; /* 0x4 */ uint32 ver_minor; /* 0x2 */ uint32 srv_type; /* browse etc type */ uint32 ptr_comment; /* pointer to server comment */ uint32 users; /* 0xffff ffff*/ uint32 disc; /* 0xf */ uint32 hidden; /* 0x0 */ uint32 announce; /* 240 */ uint32 ann_delta; /* 3000 */ uint32 licenses; /* 0 */ uint32 ptr_usr_path; /* pointer to user path */ UNISTR2 uni_name; /* server name "server" */ UNISTR2 uni_comment; /* server comment "samba x.x.x blah" */ UNISTR2 uni_usr_path; /* "c:\" (eh?) */} SRV_INFO_102;/* SRV_INFO_CTR */typedef struct srv_info_ctr_info{ uint32 switch_value; /* switch value */ uint32 ptr_srv_ctr; /* pointer to server info */ union { SRV_INFO_102 sv102; /* server info level 102 */ SRV_INFO_101 sv101; /* server info level 101 */ SRV_INFO_100 sv100; /* server info level 100 */ } srv;} SRV_INFO_CTR;/* SRV_Q_NET_SRV_GET_INFO */typedef struct q_net_srv_get_info{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; /* "\\server" */ uint32 switch_value;} SRV_Q_NET_SRV_GET_INFO;/* SRV_R_NET_SRV_GET_INFO */typedef struct r_net_srv_get_info{ SRV_INFO_CTR *ctr; WERROR status; /* return status */} SRV_R_NET_SRV_GET_INFO;/* SRV_Q_NET_SRV_SET_INFO */typedef struct q_net_srv_set_info{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; /* "\\server" */ uint32 switch_value; SRV_INFO_CTR *ctr;} SRV_Q_NET_SRV_SET_INFO;/* SRV_R_NET_SRV_SET_INFO */typedef struct r_net_srv_set_info{ uint32 switch_value; /* switch value */ WERROR status; /* return status */} SRV_R_NET_SRV_SET_INFO;/* SRV_Q_NET_REMOTE_TOD */typedef struct q_net_remote_tod{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; /* "\\server" */} SRV_Q_NET_REMOTE_TOD;/* TIME_OF_DAY_INFO */typedef struct time_of_day_info{ uint32 elapsedt; uint32 msecs; uint32 hours; uint32 mins; uint32 secs; uint32 hunds; uint32 zone; uint32 tintervals; uint32 day; uint32 month; uint32 year; uint32 weekday; } TIME_OF_DAY_INFO;/* SRV_R_NET_REMOTE_TOD */typedef struct r_net_remote_tod{ uint32 ptr_srv_tod; /* pointer to TOD */ TIME_OF_DAY_INFO *tod; WERROR status; /* return status */} SRV_R_NET_REMOTE_TOD;/* SRV_Q_NET_FILE_QUERY_SECDESC */typedef struct q_net_file_query_secdesc{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; uint32 ptr_qual_name; UNISTR2 uni_qual_name; UNISTR2 uni_file_name; uint32 unknown1; uint32 unknown2; uint32 unknown3;} SRV_Q_NET_FILE_QUERY_SECDESC;/* SRV_R_NET_FILE_QUERY_SECDESC */typedef struct r_net_file_query_secdesc{ uint32 ptr_response; uint32 size_response; uint32 ptr_secdesc; uint32 size_secdesc; SEC_DESC *sec_desc; WERROR status;} SRV_R_NET_FILE_QUERY_SECDESC;/* SRV_Q_NET_FILE_SET_SECDESC */typedef struct q_net_file_set_secdesc{ uint32 ptr_srv_name; UNISTR2 uni_srv_name; uint32 ptr_qual_name; UNISTR2 uni_qual_name; UNISTR2 uni_file_name; uint32 sec_info; uint32 size_set; uint32 ptr_secdesc; uint32 size_secdesc; SEC_DESC *sec_desc;} SRV_Q_NET_FILE_SET_SECDESC;/* SRV_R_NET_FILE_SET_SECDESC */typedef struct r_net_file_set_secdesc{ WERROR status;} SRV_R_NET_FILE_SET_SECDESC;#endif /* _RPC_SRVSVC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -