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