- added initial support for trusted domains in winbindd_ads
[kai/samba.git] / source3 / include / ads.h
1 /*
2   header for ads (active directory) library routines
3
4   basically this is a wrapper around ldap
5 */
6
7 typedef struct {
8         void *ld;
9         char *realm;
10         char *ldap_server;
11         char *ldap_server_name;
12         char *kdc_server;
13         int ldap_port;
14         char *bind_path;
15         time_t last_attempt;
16         char *password;
17         char *user_name;
18         char *server_realm;
19 } ADS_STRUCT;
20
21 typedef struct {
22         /* Type of error returned by ads_connect: */
23         /* True corresponds GSS API, False - LDAP */
24         int error_type;
25         /* For error_type = False rc describes LDAP error */
26         int rc;
27         /* For error_type = True rc and minor_status describe GSS API error */
28         /* Where rc represents major_status of GSS API error */
29         int minor_status;
30 } ADS_RETURN_CODE;
31
32 /* time between reconnect attempts */
33 #define ADS_RECONNECT_TIME 5
34
35 /* timeout on searches */
36 #define ADS_SEARCH_TIMEOUT 10
37
38 #define UF_DONT_EXPIRE_PASSWD           0x10000
39 #define UF_MNS_LOGON_ACCOUNT            0x20000
40 #define UF_SMARTCARD_REQUIRED           0x40000
41 #define UF_TRUSTED_FOR_DELEGATION       0x80000
42 #define UF_NOT_DELEGATED               0x100000
43 #define UF_USE_DES_KEY_ONLY            0x200000
44 #define UF_DONT_REQUIRE_PREAUTH        0x400000
45
46 #define UF_TEMP_DUPLICATE_ACCOUNT       0x0100
47 #define UF_NORMAL_ACCOUNT               0x0200
48 #define UF_INTERDOMAIN_TRUST_ACCOUNT    0x0800
49 #define UF_WORKSTATION_TRUST_ACCOUNT    0x1000
50 #define UF_SERVER_TRUST_ACCOUNT         0x2000
51
52 /* account types */
53 #define ATYPE_GROUP               0x10000000
54 #define ATYPE_USER                0x30000000