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 <atalk/globals.h> 8 9#include "afp_config.h" 10 11/* we use these to prevent whacky alignment problems */ 12#define AFPSTATUS_MACHOFF 0 13#define AFPSTATUS_VERSOFF 2 14#define AFPSTATUS_UAMSOFF 4 15#define AFPSTATUS_ICONOFF 6 16#define AFPSTATUS_FLAGOFF 8 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/* 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 34#define PASSWD_NONE 0 35#define PASSWD_SET (1 << 0) 36#define PASSWD_NOSAVE (1 << 1) 37#define PASSWD_ALL (PASSWD_SET | PASSWD_NOSAVE) 38 39extern void status_versions (char * /*status*/, const ASP, const DSI *); 40extern void status_uams (char * /*status*/, const char * /*authlist*/); 41extern void status_init (AFPConfig *, AFPConfig *, 42 const struct afp_options *); 43extern void set_signature(struct afp_options *); 44 45/* FP functions */ 46int afp_getsrvrinfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 47 48#endif 49