]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/auth.h
Add support for AFP 3.4
[netatalk.git] / etc / afpd / auth.h
index 4a5894b7c7a80183840a67c6c91b28e3cb825dfc..f53513b6a7f34a4d5b37abd09607d2c9a51e9e2e 100644 (file)
@@ -7,34 +7,46 @@
 #define AFPD_AUTH_H 1
 
 #include <limits.h>
-#include <sys/cdefs.h>
-#include "globals.h"
+
+#include <atalk/globals.h>
 
 struct afp_versions {
     char       *av_name;
     int                av_number;
 };
 
+static const struct afp_versions  afp_versions[] = {
+    { "AFP2.2", 22 },
+    { "AFPX03", 30 },
+    { "AFP3.1", 31 },
+    { "AFP3.2", 32 },
+    { "AFP3.3", 33 },
+    { "AFP3.4", 34 }
+};
+
 /* for GetUserInfo */
 #define USERIBIT_USER  (1 << 0)
 #define USERIBIT_GROUP (1 << 1)
-#define USERIBIT_ALL   (USERIBIT_USER | USERIBIT_GROUP)
+#define USERIBIT_UUID  (1 << 2)
+#define USERIBIT_ALL   (USERIBIT_USER | USERIBIT_GROUP | USERIBIT_UUID)
 
 extern uid_t    uuid;
-#if defined( __svr4__ ) && !defined( NGROUPS )
-#define NGROUPS        NGROUPS_MAX
-#endif /*__svr4__ NGROUPS*/
 #if defined( sun ) && !defined( __svr4__ ) || defined( ultrix )
-extern int     groups[ NGROUPS ];
+extern int     *groups;
 #else /*sun __svr4__ ultrix*/
-extern gid_t   groups[ NGROUPS ];
+extern gid_t   *groups;
 #endif /*sun __svr4__ ultrix*/
 extern int     ngroups;
 
 /* FP functions */
-extern int     afp_login __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_logincont __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_changepw __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_logout __P((AFPObj *, char *, int, char *, int *));
-extern int      afp_getuserinfo __P((AFPObj *, char *, int, char *, int *));
+int afp_login (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_login_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_logincont (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_changepw (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_logout (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_getuserinfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_getsession (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_disconnect (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_zzz (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+
 #endif /* auth.h */