]> arthur.barton.de Git - netatalk.git/blob - etc/afpd/auth.h
Add support for AFP 3.4
[netatalk.git] / etc / afpd / auth.h
1 /*
2  * Copyright (c) 1990,1993 Regents of The University of Michigan.
3  * All Rights Reserved.  See COPYRIGHT.
4  */
5
6 #ifndef AFPD_AUTH_H
7 #define AFPD_AUTH_H 1
8
9 #include <limits.h>
10
11 #include <atalk/globals.h>
12
13 struct afp_versions {
14     char        *av_name;
15     int         av_number;
16 };
17
18 static const struct afp_versions  afp_versions[] = {
19     { "AFP2.2", 22 },
20     { "AFPX03", 30 },
21     { "AFP3.1", 31 },
22     { "AFP3.2", 32 },
23     { "AFP3.3", 33 },
24     { "AFP3.4", 34 }
25 };
26
27 /* for GetUserInfo */
28 #define USERIBIT_USER  (1 << 0)
29 #define USERIBIT_GROUP (1 << 1)
30 #define USERIBIT_UUID  (1 << 2)
31 #define USERIBIT_ALL   (USERIBIT_USER | USERIBIT_GROUP | USERIBIT_UUID)
32
33 extern uid_t    uuid;
34 #if defined( sun ) && !defined( __svr4__ ) || defined( ultrix )
35 extern int      *groups;
36 #else /*sun __svr4__ ultrix*/
37 extern gid_t    *groups;
38 #endif /*sun __svr4__ ultrix*/
39 extern int      ngroups;
40
41 /* FP functions */
42 int afp_login (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
43 int afp_login_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
44 int afp_logincont (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
45 int afp_changepw (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
46 int afp_logout (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
47 int afp_getuserinfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
48 int afp_getsession (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
49 int afp_disconnect (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
50 int afp_zzz (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
51
52 #endif /* auth.h */