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