]> arthur.barton.de Git - netatalk.git/blob - include/atalk/ldapconfig.h
16e5484f6dd24822874f465a221918bac251ab9d
[netatalk.git] / include / atalk / ldapconfig.h
1 #ifdef HAVE_LDAP
2
3 #ifndef LDAPCONFIG_H
4 #define LDAPCONFIG_H
5
6 #include <atalk/iniparser.h>
7
8 /* One function does the whole job */
9 extern int acl_ldap_readconfig(dictionary *iniconfig);
10
11 /* These are the prefvalues */
12 extern char *ldap_server;
13 extern int  ldap_auth_method;
14 extern char *ldap_auth_dn;
15 extern char *ldap_auth_pw;
16 extern char *ldap_userbase;
17 extern char *ldap_groupbase;
18 extern char *ldap_uuid_attr;
19 extern char *ldap_uuid_string;
20 extern char *ldap_name_attr;
21 extern char *ldap_group_attr;
22 extern char *ldap_uid_attr;
23 extern int  ldap_uuid_encoding;
24
25 typedef enum {
26         LDAP_UUID_ENCODING_STRING = 0, /* Plain ASCII string */
27         LDAP_UUID_ENCODING_MSGUID = 1  /* Raw byte array, from Active Directory objectGUID */
28 } ldap_uuid_encoding_type;
29
30 struct ldap_pref {
31     const void *pref;
32     char *name;
33     int strorint;     /* string to just store in char * or convert to int ? */
34     int intfromarray; /* convert to int, but use string to int mapping array pref_array[] */
35     int valid;        /* -1 = mandatory, 0 = omittable/valid */
36 };
37
38 struct pref_array {
39     const char *pref;         /* name of pref from ldap_prefs[] to which this value corresponds */
40     char *valuestring;  /* config string */
41     int  value;         /* corresponding value */
42 };
43
44
45
46 /* For parsing */
47 extern struct ldap_pref ldap_prefs[];
48 extern struct pref_array prefs_array[];
49 extern int ldap_config_valid;
50
51 #endif /* LDAPCONFIG_H */
52
53 #endif /* HAVE_LDAP */