]> arthur.barton.de Git - netatalk.git/blob - etc/afpd/status.h
MachineType string is up to 16 characters
[netatalk.git] / etc / afpd / status.h
1 #ifndef AFPD_STATUS_H
2 #define AFPD_STATUS_H 1
3
4 #include <sys/cdefs.h>
5 #include <atalk/dsi.h>
6 #include <atalk/asp.h>
7 #include "globals.h"
8 #include "afp_config.h"
9
10 /* we use these to prevent whacky alignment problems */
11 #define AFPSTATUS_MACHOFF     0
12 #define AFPSTATUS_VERSOFF     2
13 #define AFPSTATUS_UAMSOFF     4
14 #define AFPSTATUS_ICONOFF     6
15 #define AFPSTATUS_FLAGOFF     8
16
17 /* AFPSTATUS_PRELEN is the number of bytes for status data prior to 
18  * the ServerName field.
19  *
20  * This is two bytes of offset space for the MachineType, AFPVersionCount,
21  * UAMCount, VolumeIconAndMask, and the 16-bit "Fixed" status flags.
22  */
23 #define AFPSTATUS_PRELEN     10
24
25 /* AFPSTATUS_POSTLEN is the number of bytes for offset records
26  * after the ServerName field.
27  *
28  * Right now, this is 2 bytes each for ServerSignature, networkAddressCount,
29  * DirectoryNameCount, and UTF-8 ServerName
30  */
31 #define AFPSTATUS_POSTLEN     8
32 #define AFPSTATUS_LEN        (AFPSTATUS_PRELEN + AFPSTATUS_POSTLEN)
33
34 /* AFPSTATUS_MACHLEN is the number of characters for the MachineType. */
35 #define AFPSTATUS_MACHLEN     16
36
37
38 #define PASSWD_NONE     0
39 #define PASSWD_SET     (1 << 0)
40 #define PASSWD_NOSAVE  (1 << 1)
41 #define PASSWD_ALL     (PASSWD_SET | PASSWD_NOSAVE)
42
43 extern void status_versions (char * /*status*/, const ASP, const DSI *);
44 extern void status_uams (char * /*status*/, const char * /*authlist*/);
45 extern void status_init (AFPConfig *, AFPConfig *,
46                                  const struct afp_options *);
47 extern void set_signature(struct afp_options *);
48
49 /* FP functions */
50 int afp_getsrvrinfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
51
52 #endif