1 /* packet-afp.h 2 * Definitions for packet disassembly structures and routines 3 * 4 * Wireshark - Network traffic analyzer 5 * By Gerald Combs <gerald@wireshark.org> 6 * Copyright 1998 Gerald Combs 7 * 8 * SPDX-License-Identifier: GPL-2.0-or-later 9 */ 10 11 #ifndef PACKET_AFP_H 12 #define PACKET_AFP_H 13 14 #define AFP_OK 0 15 #define AFPERR_ACCESS (-5000) /* permission denied */ 16 #define AFPERR_AUTHCONT (-5001) /* logincont */ 17 #define AFPERR_BADUAM (-5002) /* uam doesn't exist */ 18 #define AFPERR_BADVERS (-5003) /* bad afp version number */ 19 #define AFPERR_BITMAP (-5004) /* invalid bitmap */ 20 #define AFPERR_CANTMOVE (-5005) /* can't move file */ 21 #define AFPERR_DENYCONF (-5006) /* file synchronization locks conflict */ 22 #define AFPERR_DIRNEMPT (-5007) /* directory not empty */ 23 #define AFPERR_DFULL (-5008) /* disk full */ 24 #define AFPERR_EOF (-5009) /* end of file -- catsearch and afp_read */ 25 #define AFPERR_BUSY (-5010) /* FileBusy */ 26 #define AFPERR_FLATVOL (-5011) /* volume doesn't support directories */ 27 #define AFPERR_NOITEM (-5012) /* ItemNotFound */ 28 #define AFPERR_LOCK (-5013) /* LockErr */ 29 #define AFPERR_MISC (-5014) /* misc. err */ 30 #define AFPERR_NLOCK (-5015) /* no more locks */ 31 #define AFPERR_NOSRVR (-5016) /* no response by server at that address */ 32 #define AFPERR_EXIST (-5017) /* object already exists */ 33 #define AFPERR_NOOBJ (-5018) /* object not found */ 34 #define AFPERR_PARAM (-5019) /* parameter error */ 35 #define AFPERR_NORANGE (-5020) /* no range lock */ 36 #define AFPERR_RANGEOVR (-5021) /* range overlap */ 37 #define AFPERR_SESSCLOS (-5022) /* session closed */ 38 #define AFPERR_NOTAUTH (-5023) /* user not authenticated */ 39 #define AFPERR_NOOP (-5024) /* command not supported */ 40 #define AFPERR_BADTYPE (-5025) /* object is the wrong type */ 41 #define AFPERR_NFILE (-5026) /* too many files open */ 42 #define AFPERR_SHUTDOWN (-5027) /* server is going down */ 43 #define AFPERR_NORENAME (-5028) /* can't rename */ 44 #define AFPERR_NODIR (-5029) /* couldn't find directory */ 45 #define AFPERR_ITYPE (-5030) /* wrong icon type */ 46 #define AFPERR_VLOCK (-5031) /* volume locked */ 47 #define AFPERR_OLOCK (-5032) /* object locked */ 48 #define AFPERR_CTNSHRD (-5033) /* share point contains a share point */ 49 #define AFPERR_NOID (-5034) /* file thread not found */ 50 #define AFPERR_EXISTID (-5035) /* file already has an id */ 51 #define AFPERR_DIFFVOL (-5036) /* different volume */ 52 #define AFPERR_CATCHNG (-5037) /* catalog has changed */ 53 #define AFPERR_SAMEOBJ (-5038) /* source file == destination file */ 54 #define AFPERR_BADID (-5039) /* non-existent file id */ 55 #define AFPERR_PWDSAME (-5040) /* same password/can't change password */ 56 #define AFPERR_PWDSHORT (-5041) /* password too short */ 57 #define AFPERR_PWDEXPR (-5042) /* password expired */ 58 #define AFPERR_INSHRD (-5043) /* folder being shared is inside a shared folder. may be returned by 59 afpMoveAndRename. */ 60 #define AFPERR_INTRASH (-5044) /* shared folder in trash. */ 61 #define AFPERR_PWDCHNG (-5045) /* password needs to be changed */ 62 #define AFPERR_PWDPOLCY (-5046) /* password fails policy check */ 63 #define AFPERR_USRLOGIN (-5047) /* user already logged on */ 64 /* also disk quota exceeded? */ 65 66 extern value_string_ext asp_error_vals_ext; 67 extern value_string_ext afp_server_addr_type_vals_ext; 68 69 /* server flags */ 70 #define AFPSRVRINFO_COPY (1<<0) /* supports copyfile */ 71 #define AFPSRVRINFO_PASSWD (1<<1) /* supports change password */ 72 #define AFPSRVRINFO_NOSAVEPASSWD (1<<2) /* don't allow save password */ 73 #define AFPSRVRINFO_SRVMSGS (1<<3) /* supports server messages */ 74 #define AFPSRVRINFO_SRVSIGNATURE (1<<4) /* supports server signature */ 75 #define AFPSRVRINFO_TCPIP (1<<5) /* supports tcpip */ 76 #define AFPSRVRINFO_SRVNOTIFY (1<<6) /* supports server notifications */ 77 #define AFPSRVRINFO_SRVRECONNECT (1<<7) /* supports reconnect */ 78 #define AFPSRVRINFO_SRVDIRECTORY (1<<8) /* supports directory services */ 79 #define AFPSRVRINFO_SRVUTF8 (1<<9) /* supports UTF8 names AFP 3.1 */ 80 #define AFPSRVRINFO_UUID (1<<10) /* supports UUIDs AFP 3.2 */ 81 #define AFPSRVRINFO_EXT_SLEEP (1<<11) /* supports extended sleep, AFP 3.3 */ 82 #define AFPSRVRINFO_FASTBOZO (1<<15) /* fast copying */ 83 84 85 #define AFPSTATUS_MACHOFF 0 86 #define AFPSTATUS_VERSOFF 2 87 #define AFPSTATUS_UAMSOFF 4 88 #define AFPSTATUS_ICONOFF 6 89 #define AFPSTATUS_FLAGOFF 8 90 #define AFPSTATUS_PRELEN 10 91 #define AFPSTATUS_POSTLEN 4 92 #define AFPSTATUS_LEN (AFPSTATUS_PRELEN + AFPSTATUS_POSTLEN) 93 94 /* 95 * Private data passed from DSI,DDP dissectors to AFP dissector. 96 * DSI DDP 97 * aspinfo.reply dsi.flags atp.function == 0x80 98 * release atp.function == 0xc0 99 * command command asp.function 100 * seq requestid atp.tid 101 * code code 102 */ 103 struct aspinfo { 104 guint8 reply; /* 0 query 1 reply */ 105 guint8 release; 106 guint16 command; /* 2 6 write */ 107 guint16 seq; /* sequence number */ 108 gint32 code; /* error code/ offset NU */ 109 }; 110 111 /* 112 * value_string table for AFP command codes. 113 */ 114 WS_DLL_PUBLIC value_string_ext CommandCode_vals_ext; 115 116 /* 117 * Value from table matching requests and responses; also passed to AFP 118 * tap for responses. 119 */ 120 typedef struct { 121 guint8 command; 122 guint32 frame_req, frame_res; 123 nstime_t req_time; 124 guint32 spotlight_req_command; /* Need this in the reply */ 125 } afp_request_val; 126 127 #endif 128