r9789: Patch from Volker that fixes the build on AIX.
[samba.git] / source / lib / samba3 / samba3.h
index bebd1207048807f643b9f26d3b8157266e6ef396..b8a9c68617dccb6be48fd29cbb0ace4f503689dc 100644 (file)
@@ -22,6 +22,7 @@
 #define _SAMBA3_H 
 
 #include "librpc/gen_ndr/security.h"
+#include "librpc/gen_ndr/samr.h"
 
 struct samba3_samaccount {
        uint32_t logon_time,
@@ -43,16 +44,16 @@ struct samba3_samaccount {
        char *profile_path;
        char *acct_desc;
        char *workstations;
+       uid_t uid;
        uint32_t user_rid, group_rid, hours_len, unknown_6;
        uint16_t acct_ctrl, logon_divs;
        uint16_t bad_password_count, logon_count;
-       uint8_t *lm_pw_ptr, *nt_pw_ptr;
+       struct samr_Password lm_pw, nt_pw;
        uint8_t *nt_pw_hist_ptr;
        uint8_t *hours;
 };
 
 struct samba3_groupmapping {
-       struct pdb_methods *methods;
        gid_t gid;
        struct dom_sid *sid;
        int sid_name_use;
@@ -137,6 +138,66 @@ struct samba3_regdb
        struct samba3_regkey *keys;
 };
 
+struct samba3_secrets
+{
+       struct cli_credentials *ipc_cred;
+       
+       uint32_t ldappw_count;
+       struct samba3_ldappw 
+       {
+               char *dn;
+               char *password;
+       } *ldappws;
+
+       uint32_t domain_count;
+       struct samba3_domainsecrets 
+       {
+               char *name;
+               struct dom_sid sid;
+               struct GUID guid;
+               char *plaintext_pw;
+               time_t last_change_time;
+               struct {
+                       uint8_t hash[16];
+                       time_t mod_time;
+               } hash_pw;
+               int sec_channel_type;
+       } *domains;
+
+       uint32_t trusted_domain_count;
+       struct samba3_trusted_dom_pass {
+               uint32_t uni_name_len;
+               const char *uni_name[32]; /* unicode domain name */
+               const char *pass;               /* trust relationship's password */
+               time_t mod_time;
+               struct dom_sid domain_sid;      /* remote domain's sid */
+       } *trusted_domains;
+
+       uint32_t afs_keyfile_count;
+
+       struct samba3_afs_keyfile {
+               uint32_t nkeys;
+               struct {
+                       uint32_t kvno;
+                       char key[8];
+               } entry[8];
+               char *cell;
+       } *afs_keyfiles;
+};
+
+struct samba3_parameter {
+       char *name;
+       char *value;
+};
+
+struct samba3_share_info {
+       char *name;
+       struct security_descriptor secdesc;
+
+       uint32_t parameter_count;
+       struct samba3_parameter *parameters;
+};
+
 struct samba3 
 {
        uint32_t winsdb_count;
@@ -145,6 +206,10 @@ struct samba3
        uint32_t samaccount_count;
        struct samba3_samaccount *samaccounts;
 
+       uint32_t share_count;
+       struct samba3_share_info *shares;
+
+       struct samba3_secrets secrets;
        struct samba3_groupdb group;
        struct samba3_idmapdb idmap;
        struct samba3_policy policy;