diff options
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r-- | source3/include/smb.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 2e27fa195f..a6566fb364 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -431,6 +431,66 @@ struct sam_disp_info char *full_name; /* user's full name string */ }; +#define MAXSUBAUTHS 15 /* max sub authorities in a SID */ + +/* DOM_SID - security id */ +typedef struct sid_info +{ + uint8 sid_rev_num; /* SID revision number */ + uint8 num_auths; /* number of sub-authorities */ + uint8 id_auth[6]; /* Identifier Authority */ + /* + * Note that the values in these uint32's are in *native* byteorder, + * not neccessarily little-endian...... JRA. + */ + uint32 sub_auths[MAXSUBAUTHS]; /* pointer to sub-authorities. */ + +} DOM_SID; + + +/*** query a local group, get a list of these: shows who is in that group ***/ + +/* local group member info */ +typedef struct local_grp_member_info +{ + DOM_SID sid ; /* matches with name */ + uint8 sid_use; /* usr=1 grp=2 dom=3 alias=4 wkng=5 del=6 inv=7 unk=8 */ + fstring name ; /* matches with sid: must be of the form "DOMAIN\account" */ + +} LOCAL_GRP_MEMBER; + +/* enumerate these to get list of local groups */ + +/* local group info */ +typedef struct local_grp_info +{ + fstring name; + fstring comment; + +} LOCAL_GRP; + +/*** enumerate these to get list of domain groups ***/ + +/* domain group member info */ +typedef struct domain_grp_info +{ + fstring name; + fstring comment; + uint32 rid; /* group rid */ + uint8 attr; /* attributes forced to be set to 0x7: SE_GROUP_xxx */ + +} DOMAIN_GRP; + +/*** query a domain group, get a list of these: shows who is in that group ***/ + +/* domain group info */ +typedef struct domain_grp_member_info +{ + fstring name; + uint8 attr; /* attributes forced to be set to 0x7: SE_GROUP_xxx */ + +} DOMAIN_GRP_MEMBER; + /* DOM_CHAL - challenge info */ typedef struct chal_info { |