aboutsummaryrefslogtreecommitdiffstats
path: root/packet-afp.h
blob: 50d3015458833fd3ef5c1ef453a92eacd0a3672a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/* packet-afp.h
 * Definitions for packet disassembly structures and routines
 *
 * $Id: packet-afp.h,v 1.5 2002/10/17 22:38:19 guy Exp $
 *
 * Ethereal - Network traffic analyzer
 * By Gerald Combs <gerald@ethereal.com>
 * Copyright 1998 Gerald Combs
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifndef PACKET_AFP_H
#define PACKET_AFP_H

#define AFP_OK				0
#define AFPERR_ACCESS	-5000   /* permission denied */
#define AFPERR_AUTHCONT	-5001   /* logincont */
#define AFPERR_BADUAM	-5002   /* uam doesn't exist */
#define AFPERR_BADVERS	-5003   /* bad afp version number */
#define AFPERR_BITMAP	-5004   /* invalid bitmap */
#define AFPERR_CANTMOVE -5005   /* can't move file */
#define AFPERR_DENYCONF	-5006   /* file synchronization locks conflict */
#define AFPERR_DIRNEMPT	-5007   /* directory not empty */
#define AFPERR_DFULL	-5008   /* disk full */
#define AFPERR_EOF		-5009   /* end of file -- catsearch and afp_read */
#define AFPERR_BUSY		-5010   /* FileBusy */
#define AFPERR_FLATVOL  -5011   /* volume doesn't support directories */
#define AFPERR_NOITEM	-5012   /* ItemNotFound */
#define AFPERR_LOCK     -5013   /* LockErr */
#define AFPERR_MISC     -5014   /* misc. err */
#define AFPERR_NLOCK    -5015   /* no more locks */
#define AFPERR_NOSRVR	-5016   /* no response by server at that address */
#define AFPERR_EXIST	-5017   /* object already exists */
#define AFPERR_NOOBJ	-5018   /* object not found */
#define AFPERR_PARAM	-5019   /* parameter error */
#define AFPERR_NORANGE  -5020   /* no range lock */
#define AFPERR_RANGEOVR -5021   /* range overlap */
#define AFPERR_SESSCLOS -5022   /* session closed */
#define AFPERR_NOTAUTH	-5023   /* user not authenticated */
#define AFPERR_NOOP		-5024   /* command not supported */
#define AFPERR_BADTYPE	-5025   /* object is the wrong type */
#define AFPERR_NFILE	-5026   /* too many files open */
#define AFPERR_SHUTDOWN	-5027   /* server is going down */
#define AFPERR_NORENAME -5028   /* can't rename */
#define AFPERR_NODIR	-5029   /* couldn't find directory */
#define AFPERR_ITYPE	-5030   /* wrong icon type */
#define AFPERR_VLOCK	-5031   /* volume locked */
#define AFPERR_OLOCK    -5032   /* object locked */
#define AFPERR_CTNSHRD  -5033   /* share point contains a share point */
#define AFPERR_NOID     -5034   /* file thread not found */
#define AFPERR_EXISTID  -5035   /* file already has an id */
#define AFPERR_DIFFVOL  -5036   /* different volume */
#define AFPERR_CATCHNG  -5037   /* catalog has changed */
#define AFPERR_SAMEOBJ  -5038   /* source file == destination file */
#define AFPERR_BADID    -5039   /* non-existent file id */
#define AFPERR_PWDSAME  -5040   /* same password/can't change password */
#define AFPERR_PWDSHORT -5041   /* password too short */
#define AFPERR_PWDEXPR  -5042   /* password expired */
#define AFPERR_INSHRD   -5043   /* folder being shared is inside a shared folder. may be returned by
				   				   afpMoveAndRename. */
#define AFPERR_INTRASH  -5044   /* shared folder in trash. */
#define AFPERR_PWDCHNG  -5045   /* password needs to be changed */
#define AFPERR_PWDPOLCY -5046   /* password fails policy check */
#define AFPERR_USRLOGIN -5047   /* user already logged on */

extern const value_string asp_error_vals[];
extern const value_string afp_server_addr_type_vals[];

/* server flags */
#define AFPSRVRINFO_COPY         (1<<0)  /* supports copyfile */
#define AFPSRVRINFO_PASSWD       (1<<1)  /* supports change password */
#define AFPSRVRINFO_NOSAVEPASSWD (1<<2)  /* don't allow save password */
#define AFPSRVRINFO_SRVMSGS      (1<<3)  /* supports server messages */
#define AFPSRVRINFO_SRVSIGNATURE (1<<4)  /* supports server signature */
#define AFPSRVRINFO_TCPIP        (1<<5)  /* supports tcpip */
#define AFPSRVRINFO_SRVNOTIFY    (1<<6)  /* supports server notifications */
#define AFPSRVRINFO_SRVRECONNECT (1<<7)  /* supports reconnect */
#define AFPSRVRINFO_SRVDIRECTORY (1<<8)  /* supports directory services */
#define AFPSRVRINFO_SRVUTF8      (1<<9)  /* supports UTF8 names AFP 3.1 */
#define AFPSRVRINFO_FASTBOZO     (1<<15) /* fast copying */


#define AFPSTATUS_MACHOFF     0
#define AFPSTATUS_VERSOFF     2
#define AFPSTATUS_UAMSOFF     4
#define AFPSTATUS_ICONOFF     6
#define AFPSTATUS_FLAGOFF     8
#define AFPSTATUS_PRELEN     10
#define AFPSTATUS_POSTLEN     4
#define AFPSTATUS_LEN        (AFPSTATUS_PRELEN + AFPSTATUS_POSTLEN)

/*
 * Private data passed from DSI,DDP dissectors to AFP dissector.
 *                       DSI              DDP
 * aspinfo.reply     	dsi.flags       atp.function == 0x80
 *         release                      atp.function == 0xc0
 *         command          command     asp.function
 *         seq              requestid   atp.tid
 *         code             code
 */
struct aspinfo {
	guint8	reply;			/* 0 query  1 reply */
	guint8  release;
	guint16	command;		/* 2  6 write */
	guint16	seq;			/* sequence number */
	gint32  code;			/* error code/ offset NU */
};

#endif