]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/globals.h
IPv6 support for afpd and cnid_metad
[netatalk.git] / etc / afpd / globals.h
index f1e0c9e91eb88ba1ea0f6ddc90d7d085b7e244eb..c1f8986e8da8ab7fac16ae6117390229e13afae3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: globals.h,v 1.23 2008-05-16 04:19:41 didg Exp $
+ * $Id: globals.h,v 1.30 2009-11-05 14:38:07 franklahm Exp $
  *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
 #include <atalk/unicode.h>
 #include <atalk/uam.h>
 
-/* test for inline */
-#ifndef __inline__
-#define __inline__
-#endif
-
 #define MACFILELEN 31
 #define MAXUSERLEN 256
 
@@ -41,6 +36,7 @@
 #define OPTION_CUSTOMICON    (1 << 4)
 #define OPTION_NOSLP         (1 << 5)
 #define OPTION_ANNOUNCESSH   (1 << 6)
+#define OPTION_UUID          (1 << 7)
 
 #ifdef FORCE_UIDGID
 /* set up a structure for this */
@@ -60,10 +56,10 @@ struct afp_volume_name {
 };
 
 struct afp_options {
-    int connections, port, transports, tickleval, timeout, server_notif, flags;
+    int connections, transports, tickleval, timeout, server_notif, flags;
     unsigned char passwdbits, passwdminlen, loginmaxfail;
     u_int32_t server_quantum;
-    char hostname[MAXHOSTNAMELEN + 1], *server, *ipaddr, *configfile;
+    char hostname[MAXHOSTNAMELEN + 1], *server, *ipaddr, *port, *configfile;
     struct at_addr ddpaddr;
     char *uampath, *fqdn;
     char *pidfile;
@@ -83,14 +79,14 @@ struct afp_options {
 #ifdef ADMIN_GRP
     gid_t admingid;
 #endif /* ADMIN_GRP */
+    int    volnamelen;
 
     /* default value for winbind authentication */
     char *ntdomain, *ntseparator;
-
 };
 
 #define AFPOBJ_TMPSIZ (MAXPATHLEN)
-typedef struct AFPObj {
+typedef struct _AFPObj {
     int proto;
     unsigned long servernum;
     void *handle, *config;
@@ -105,6 +101,7 @@ typedef struct AFPObj {
     char oldtmp[AFPOBJ_TMPSIZ + 1], newtmp[AFPOBJ_TMPSIZ + 1];
     void *uam_cookie; /* cookie for uams */
     struct session_info  sinfo;
+    uid_t uid;         /* client running user id */
 
 #ifdef FORCE_UIDGID
     int                 force_uid;
@@ -112,6 +109,9 @@ typedef struct AFPObj {
 #endif
 } AFPObj;
 
+/* typedef for AFP functions handlers */
+typedef int (*AFPCmd)(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+
 extern int             afp_version;
 extern int             afp_errno;
 extern unsigned char   nologin;
@@ -119,28 +119,28 @@ extern struct dir *curdir;
 extern char            getwdbuf[];
 
 /* FIXME CNID */
-extern char             Cnid_srv[MAXHOSTNAMELEN + 1];
-extern int              Cnid_port;
-
-extern int  get_afp_errno   __P((const int param));
-extern void afp_options_init __P((struct afp_options *));
-extern int afp_options_parse __P((int, char **, struct afp_options *));
-extern int afp_options_parseline __P((char *, struct afp_options *));
-extern void afp_options_free __P((struct afp_options *,
-                                      const struct afp_options *));
-extern void setmessage __P((const char *));
-extern void readmessage __P((AFPObj *));
+extern const char *Cnid_srv;
+extern const char *Cnid_port;
+
+extern int  get_afp_errno   (const int param);
+extern void afp_options_init (struct afp_options *);
+extern int afp_options_parse (int, char **, struct afp_options *);
+extern int afp_options_parseline (char *, struct afp_options *);
+extern void afp_options_free (struct afp_options *,
+                                      const struct afp_options *);
+extern void setmessage (const char *);
+extern void readmessage (AFPObj *);
 
 /* gettok.c */
-extern void initline   __P((int, char *));
-extern int  parseline  __P((int, char *));
+extern void initline   (int, char *);
+extern int  parseline  (int, char *);
 
 /* afp_util.c */
-const char *AfpNum2name __P((int ));
+const char *AfpNum2name (int );
 
 #ifndef NO_DDP
-extern void afp_over_asp __P((AFPObj *));
+extern void afp_over_asp (AFPObj *);
 #endif /* NO_DDP */
-extern void afp_over_dsi __P((AFPObj *));
+extern void afp_over_dsi (AFPObj *);
 
 #endif /* globals.h */