Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/neuron/jaffer/AFP_Constants.java


1   /* 
2    * Copyright (c) 2003 Stewart Allen <stewart@neuron.com>. All rights reserved.
3    * This program is free software. See the 'License' file for details.
4    */
5   
6   package com.neuron.jaffer;
7   
8   import java.io.*;
9   import java.net.*;
10  import java.util.*;
11  import java.math.*;
12  
13  // directory id rules (!0, 1=root parent, 2=root) : IA p. 342
14  
15  public interface AFP_Constants
16  {
17    // default listening port
18    public final static int TCP_PORT                = 548;
19  
20    public final static String[] COMMAND = {
21      "",                      //   ----   (0)   invalid
22      "BYTE_RANGE_LOCK",       //   0x01   (1)
23      "CLOSE_VOL",             //   0x02   (2)
24      "CLOSE_DIR",             //   0x03   (3)
25      "CLOSE_FORK",            //   0x04   (4)
26      "COPY_FILE",             //   0x05   (5)
27      "CREATE_DIR",            //   0x06   (6)
28      "CREATE_FILE",           //   0x07   (7)
29      "DELETE",                //   0x08   (8)
30      "ENUMERATE",             //   0x09   (9)
31      "FLUSH",                 //   0x0a   (10)
32      "FLUSH_FORK",            //   0x0b   (11)
33      null,                    //   ----   (12)  invalid
34      null,                    //   ----   (13)  invalid
35      "GET_FORM_PARMS",        //   0x0e   (14)
36      "GET_SRVR_INFO",         //   0x0f   (15)
37      "GET_SRVR_PARMS",        //   0x10   (16)
38      "GET_VOL_PARMS",         //   0x11   (17)
39      "LOGIN",                 //   0x12   (18)
40      "LOGIN_CONT",            //   0x13   (19)
41      "LOGOUT",                //   0x14   (20)
42      "MAP_ID",                //   0x15   (21)
43      "MAP_NAME",              //   0x16   (22)
44      "MOVE_AND_RENAME",       //   0x17   (23)
45      "OPEN_VOL",              //   0x18   (24)
46      "OPEN_DIR",              //   0x19   (25)
47      "OPEN_FORK",             //   0x1a   (26)
48      "READ",                  //   0x1b   (27)
49      "RENAME",                //   0x1c   (28)
50      "SET_DIR_PARMS",         //   0x1d   (29)
51      "SET_FILE_PARMS",        //   0x1e   (30)
52      "SET_FORK_PARMS",        //   0x1f   (31)
53      "SET_VOL_PARMS",         //   0x20   (32)
54      "WRITE",                 //   0x21   (33)
55      "GET_FILE_DIR_PARMS",    //   0x22   (34)
56      "SET_FILE_DIR_PARMS",    //   0x23   (35)
57      "CHANGE_PASSWORD",       //   0x24   (36)
58      "GET_USER_INFO",         //   0x25   (37)
59      "GET_SRVR_MSG",          //   0x26   (38)
60      "CREATE_ID",             //   0x27   (39)
61      "DELETE_ID",             //   0x28   (40)
62      "RESOLVE_ID",            //   0x29   (41)
63      "EXCHANGE_FILES",        //   0x2a   (42)
64      "CAT_SEARCH",            //   0x2b   (43)
65      null,                    //   ----   (44)  invalid
66      null,                    //   ----   (45)  invalid
67      null,                    //   ----   (46)  invalid
68      null,                    //   ----   (47)  invalid
69      "OPEN_DT",               //   0x30   (48)
70      "CLOSE_DT",              //   0x31   (49)
71      null,                    //   ----   (50)  invalid
72      "GET_ICON",              //   0x33   (51)
73      "GET_ICON_INFO",         //   0x34   (52)
74      "ADD_APPL",              //   0x35   (53)
75      "RMV_APPL",              //   0x36   (54)
76      "GET_APPL",              //   0x37   (55)
77      "ADD_COMMENT",           //   0x38   (56)
78      "RMV_COMMENT",           //   0x39   (57)
79      "GET_COMMENT",           //   0x3a   (58)
80      "BYTE_RANGE_LOCK_EXT",   //   0x3b   (59)
81      "READ_EXT",              //   0x3c   (60)
82      null,                    //          (61)
83      null,                    //          (62)
84      "LOGIN_EXT",             //   0x3F   (63)
85      "GET_SESSION_TOKEN",     //   0x40   (64)
86      null,                    //          (63)
87      "ENUMERATE_EXT",         //   0x42   (66)
88      null,                    //          (67)
89      "ENUMERATE_EXT2",        //   0x44   (68)
90      null,                    //   0x     (  )
91      null,                    //   0x     (  )
92      null,                    //   0x     (  )
93      null,                    //   0x     (  )
94      null,                    //   0x     (  )
95    };
96  
97    // Command Set
98    public final static int CMD_BYTE_RANGE_LOCK     = 0x01; // (1)
99    public final static int CMD_CLOSE_VOL           = 0x02; // (2)
100   public final static int CMD_CLOSE_DIR           = 0x03; // (3)
101   public final static int CMD_CLOSE_FORK          = 0x04; // (4)
102   public final static int CMD_COPY_FILE           = 0x05; // (5)
103   public final static int CMD_CREATE_DIR          = 0x06; // (6)
104   public final static int CMD_CREATE_FILE         = 0x07; // (7)
105   public final static int CMD_DELETE              = 0x08; // (8)
106   public final static int CMD_ENUMERATE           = 0x09; // (9)  AFP3.1 p. 150
107   public final static int CMD_FLUSH               = 0x0a; // (10)
108   public final static int CMD_FLUSH_FORK          = 0x0b; // (11)
109   public final static int CMD_GET_FORM_PARMS      = 0x0e; // (14)
110   public final static int CMD_GET_SRVR_INFO       = 0x0f; // (15)
111   public final static int CMD_GET_SRVR_PARMS      = 0x10; // (16)
112   public final static int CMD_GET_VOL_PARMS       = 0x11; // (17)
113   public final static int CMD_LOGIN               = 0x12; // (18)
114   public final static int CMD_LOGIN_CONT          = 0x13; // (19)
115   public final static int CMD_LOGOUT              = 0x14; // (20)
116   public final static int CMD_MAP_ID              = 0x15; // (21)
117   public final static int CMD_MAP_NAME            = 0x16; // (22)
118   public final static int CMD_MOVE_AND_RENAME     = 0x17; // (23)
119   public final static int CMD_OPEN_VOL            = 0x18; // (24)
120   public final static int CMD_OPEN_DIR            = 0x19; // (25)
121   public final static int CMD_OPEN_FORK           = 0x1a; // (26)
122   public final static int CMD_READ                = 0x1b; // (27)
123   public final static int CMD_RENAME              = 0x1c; // (28)
124   public final static int CMD_SET_DIR_PARMS       = 0x1d; // (29)
125   public final static int CMD_SET_FILE_PARMS      = 0x1e; // (30)
126   public final static int CMD_SET_FORK_PARMS      = 0x1f; // (31)
127   public final static int CMD_SET_VOL_PARMS       = 0x20; // (32)
128   public final static int CMD_WRITE               = 0x21; // (33)
129   public final static int CMD_GET_FILE_DIR_PARMS  = 0x22; // (34) AFP31 p. 179
130   public final static int CMD_SET_FILE_DIR_PARMS  = 0x23; // (35)
131   public final static int CMD_CHANGE_PASSWORD     = 0x24; // (36)
132   public final static int CMD_GET_USER_INFO       = 0x25; // (37) AFP31 p. 204
133   public final static int CMD_GET_SRVR_MSG        = 0x26; // (38)
134   public final static int CMD_CREATE_ID           = 0x27; // (39)
135   public final static int CMD_DELETE_ID           = 0x28; // (40)
136   public final static int CMD_RESOLVE_ID          = 0x29; // (41)
137   public final static int CMD_EXCHANGE_FILES      = 0x2a; // (42)
138   public final static int CMD_CAT_SEARCH          = 0x2b; // (43)
139   public final static int CMD_OPEN_DT             = 0x30; // (48)
140   public final static int CMD_CLOSE_DT            = 0x31; // (49)
141   public final static int CMD_GET_ICON            = 0x33; // (51)
142   public final static int CMD_GET_ICON_INFO       = 0x34; // (52)
143   public final static int CMD_ADD_APPL            = 0x35; // (53)
144   public final static int CMD_RMV_APPL            = 0x36; // (54)
145   public final static int CMD_GET_APPL            = 0x37; // (55)
146   public final static int CMD_ADD_COMMENT         = 0x38; // (56)
147   public final static int CMD_RMV_COMMENT         = 0x39; // (57)
148   public final static int CMD_GET_COMMENT         = 0x3a; // (58)
149   public final static int CMD_BYTE_RANGE_LOCK_EXT = 0x3b; // (59) AFP31 p. 106
150   public final static int CMD_READ_EXT            = 0x3c; // (60) AFP31 p. 242
151   public final static int CMD_WRITE_EXT           = 0x3d; // (61) AFP31 p. 274
152   public final static int CMD_LOGIN_EXT           = 0x3F; // (63) AFP31 p. 215
153   public final static int CMD_GET_SESSION_TOKEN   = 0x40; // (64) AFP31 p. 191
154   public final static int CMD_ENUMERATE_EXT       = 0x42; // (66) AFP31 p. 155
155   public final static int CMD_ENUMERATE_EXT2      = 0x44; // (68) AFP31 p. 160
156   public final static int CMD_ADD_ICON            = 0xc0; // (192)
157 
158   // Error Codes
159   public final static int ERR_NO_ERR              = 0x00000000; // (0)
160   public final static int ERR_ACCESS_DENIED       = 0xffffec78; // (-5000)
161   public final static int ERR_AUTH_CONTINUE       = 0xffffec77; // (-5001)
162   public final static int ERR_BAD_UAM             = 0xffffec76; // (-5002)
163   public final static int ERR_BAD_VERS_NUM        = 0xffffec75; // (-5003)
164   public final static int ERR_BITMAP_ERR          = 0xffffec74; // (-5004)
165   public final static int ERR_CANT_MOVE           = 0xffffec73; // (-5005)
166   public final static int ERR_DENY_CONFLICT       = 0xffffec72; // (-5006)
167   public final static int ERR_DIR_NOT_EMPTY       = 0xffffec71; // (-5007)
168   public final static int ERR_DISK_FULL           = 0xffffec70; // (-5008)
169   public final static int ERR_EOF_ERR             = 0xffffec6f; // (-5009)
170   public final static int ERR_FILE_BUSY           = 0xffffec6e; // (-5010)
171   public final static int ERR_FLAT_VOL            = 0xffffec6d; // (-5011)
172   public final static int ERR_ITEM_NOT_FOUND      = 0xffffec6c; // (-5012)
173   public final static int ERR_LOCK_ERR            = 0xffffec6b; // (-5013)
174   public final static int ERR_MISC_ERR            = 0xffffec6a; // (-5014)
175   public final static int ERR_NO_MORE_LOCKS       = 0xffffec69; // (-5015)
176   public final static int ERR_NO_SERVER           = 0xffffec68; // (-5016)
177   public final static int ERR_OBJECT_EXISTS       = 0xffffec67; // (-5017)
178   public final static int ERR_OBJECT_NOT_FOUND    = 0xffffec66; // (-5018)
179   public final static int ERR_PARAM_ERR           = 0xffffec65; // (-5019)
180   public final static int ERR_RANGE_NOT_LOCKED    = 0xffffec64; // (-5020)
181   public final static int ERR_RANGE_OVERLAP       = 0xffffec63; // (-5021)
182   public final static int ERR_SESS_CLOSED         = 0xffffec62; // (-5022)
183   public final static int ERR_USER_NOT_AUTH       = 0xffffec61; // (-5023)
184   public final static int ERR_CALL_NOT_SUPPORTED  = 0xffffec60; // (-5024)
185   public final static int ERR_OBJECT_TYPE_ERR     = 0xffffec5f; // (-5025)
186   public final static int ERR_TOO_MANY_FILES_OPEN = 0xffffec5e; // (-5026)
187   public final static int ERR_SERVER_GOING_DOWN   = 0xffffec5d; // (-5027)
188   public final static int ERR_CANT_RENAME         = 0xffffec5c; // (-5028)
189   public final static int ERR_DIR_NOT_FOUND       = 0xffffec5b; // (-5029)
190   public final static int ERR_ICON_TYPE_ERROR     = 0xffffec5a; // (-5030)
191   public final static int ERR_VOL_LOCKED          = 0xffffec59; // (-5031)
192   public final static int ERR_OBJECT_LOCKED       = 0xffffec58; // (-5032)
193 
194   // Volume Signature Values (ref: Inside Appletalk p. 337)
195   public final static int VOL_SIG_FLAT            = 0x01; // flat
196   public final static int VOL_SIG_FIXED           = 0x02; // tree
197   public final static int VOL_SIG_VARIABLE        = 0x03; // tree
198 
199   // Volume Bitmap (ref: AFP31 p. 284)
200   public final static int VOL_BIT_ATTRIBUTE       = 0x001;
201   public final static int VOL_BIT_SIGNATURE       = 0x002;
202   public final static int VOL_BIT_CREATE_DATE     = 0x004;
203   public final static int VOL_BIT_MOD_DATE        = 0x008;
204   public final static int VOL_BIT_BACKUP_DATE     = 0x010;
205   public final static int VOL_BIT_ID              = 0x020;
206   public final static int VOL_BIT_BYTES_FREE      = 0x040;
207   public final static int VOL_BIT_BYTES_TOTAL     = 0x080;
208   public final static int VOL_BIT_NAME            = 0x100;
209   public final static int VOL_BIT_XBYTES_FREE     = 0x200;
210   public final static int VOL_BIT_XBYTES_TOTAL    = 0x400;
211   public final static int VOL_BIT_BLOCK_SIZE      = 0x800;
212 
213   // Volume Attributes (ref: AFP31 p. 21)
214   public final static int VOL_ATTR_READONLY       = 0x01;
215   public final static int VOL_ATTR_PASSWORD       = 0x02;
216   public final static int VOL_ATTR_FILE_IDS       = 0x04;
217   public final static int VOL_ATTR_CAT_SEARCH     = 0x08;
218   public final static int VOL_ATTR_BLANK_PRIVS    = 0x10;
219   public final static int VOL_ATTR_UNIX_PRIVS     = 0x20;
220   public final static int VOL_ATTR_UTF8_NAMES     = 0x40;
221   public final static int VOL_ATTR_NO_NET_UIDS    = 0x80;
222 
223   // Directory Bitmap (ref: AFP31 p. 277)
224   public final static int DIR_BIT_ATTRIBUTE       = 0x0001;
225   public final static int DIR_BIT_PARENT_DIR_ID   = 0x0002;
226   public final static int DIR_BIT_CREATE_DATE     = 0x0004;
227   public final static int DIR_BIT_MOD_DATE        = 0x0008;
228   public final static int DIR_BIT_BACKUP_DATE     = 0x0010;
229   public final static int DIR_BIT_FINDER_INFO     = 0x0020;
230   public final static int DIR_BIT_LONG_NAME       = 0x0040;
231   public final static int DIR_BIT_SHORT_NAME      = 0x0080;
232   public final static int DIR_BIT_NODE_ID         = 0x0100;
233   public final static int DIR_BIT_OFFSPRING_COUNT = 0x0200;
234   public final static int DIR_BIT_OWNER_ID        = 0x0400;
235   public final static int DIR_BIT_GROUP_ID        = 0x0800;
236   public final static int DIR_BIT_ACCESS_RIGHTS   = 0x1000;
237   public final static int DIR_BIT_UTF8_NAME       = 0x2000;
238   public final static int DIR_BIT_UNIX_PRIVS      = 0x8000;
239 
240   // Directory Attributes (ref: AFP31 p. 279)
241   public final static int DIR_ATTR_INVISIBLE      = 0x0001;
242   public final static int DIR_ATTR_IS_EXP_FOLDER  = 0x0002;
243   public final static int DIR_ATTR_SYSTEM         = 0x0004;
244   public final static int DIR_ATTR_MOUNTED        = 0x0008;
245   public final static int DIR_ATTR_IN_EXP_FOLDER  = 0x0010;
246   public final static int DIR_ATTR_BACKUP_NEEDED  = 0x0040;
247   public final static int DIR_ATTR_RENAME_INHIBIT = 0x0080;
248   public final static int DIR_ATTR_DELETE_INHIBIT = 0x0100;
249   public final static int DIR_ATTR_SET_CLEAR      = 0x8000;
250 
251   // File Bitmap (ref: AFP31 p. 279)
252   public final static int FILE_BIT_ATTRIBUTE      = 0x0001;
253   public final static int FILE_BIT_PARENT_DIR_ID  = 0x0002;
254   public final static int FILE_BIT_CREATE_DATE    = 0x0004;
255   public final static int FILE_BIT_MOD_DATE       = 0x0008;
256   public final static int FILE_BIT_BACKUP_DATE    = 0x0010;
257   public final static int FILE_BIT_FINDER_INFO    = 0x0020;
258   public final static int FILE_BIT_LONG_NAME      = 0x0040;
259   public final static int FILE_BIT_SHORT_NAME     = 0x0080;
260   public final static int FILE_BIT_NODE_ID        = 0x0100;
261   public final static int FILE_BIT_DATA_FORK_LEN  = 0x0200;
262   public final static int FILE_BIT_RSRC_FORK_LEN  = 0x0400;
263   public final static int FILE_BIT_XDATA_FORK_LEN = 0x0800;
264   public final static int FILE_BIT_LAUNCH_LIMIT   = 0x1000;
265   public final static int FILE_BIT_UTF8_NAME      = 0x2000;
266   public final static int FILE_BIT_XRSRC_FORK_LEN = 0x4000;
267   public final static int FILE_BIT_UNIX_PRIVS     = 0x8000;
268 
269   // File Attributes (ref: AFP31 p. 279)
270   public final static int FILE_ATTR_INVISIBLE      = 0x0001;
271   public final static int FILE_ATTR_MULTIUSER      = 0x0002;
272   public final static int FILE_ATTR_SYSTEM         = 0x0004;
273   public final static int FILE_ATTR_DALREADY_OPEN  = 0x0008;
274   public final static int FILE_ATTR_RALREADY_OPEN  = 0x0010;
275   public final static int FILE_ATTR_WRITE_INHIBIT  = 0x0020;
276   public final static int FILE_ATTR_BACKUP_NEEDED  = 0x0040;
277   public final static int FILE_ATTR_RENAME_INHIBIT = 0x0080;
278   public final static int FILE_ATTR_DELETE_INHIBIT = 0x0100;
279   public final static int FILE_ATTR_COPY_PROTECT   = 0x0400;
280   public final static int FILE_ATTR_SET_CLEAR      = 0x8000;
281 
282   // Access Rights Bitmap (ref: AFP31 p. 277)
283   public final static int ACCESS_OWNER_SEARCH      = 0x00000001;
284   public final static int ACCESS_OWNER_READ        = 0x00000002;
285   public final static int ACCESS_OWNER_WRITE       = 0x00000004;
286   public final static int ACCESS_GROUP_SEARCH      = 0x00000100;
287   public final static int ACCESS_GROUP_READ        = 0x00000200;
288   public final static int ACCESS_GROUP_WRITE       = 0x00000400;
289   public final static int ACCESS_ALL_SEARCH        = 0x00010000;
290   public final static int ACCESS_ALL_READ          = 0x00020000;
291   public final static int ACCESS_ALL_WRITE         = 0x00040000;
292   public final static int ACCESS_UA_SEARCH         = 0x01000000;
293   public final static int ACCESS_UA_READ           = 0x02000000;
294   public final static int ACCESS_UA_WRITE          = 0x04000000;
295   public final static int ACCESS_UA_BLANK          = 0x10000000;
296   public final static int ACCESS_UA_OWNER          = 0x80000000;
297 
298   public final static int ACCESS_EVERYTHING        = 0x97070707;
299 //  public final static int ACCESS_EVERYTHING        = 0x87000007;
300 
301   // User Authentication Methods
302   public final static int UAM_UNKNOWN              = 0;
303   public final static int UAM_GUEST                = 1;
304   public final static int UAM_CLEARTEXT            = 2;
305   public final static int UAM_RANDOM_NUM1          = 3;
306   public final static int UAM_RANDOM_NUM2          = 4;
307   public final static int UAM_DHX_128              = 5;
308   public final static int UAM_DHX_DYNAMIC          = 6;
309   public final static int UAM_KERBEROS             = 7;
310                                                     
311   public final static String UAM_STR_GUEST         = "No User Authent";
312   public final static String UAM_STR_CLEARTEXT     = "Cleartxt passwrd";
313   public final static String UAM_STR_RANDOM_NUM1   = "Randum Exchange";
314   public final static String UAM_STR_RANDOM_NUM2   = "2-Way Randum";
315   public final static String UAM_STR_DHX_128       = "DHCAST128";
316   public final static String UAM_STR_DHX_DYNAMIC   = "DHX2";
317   public final static String UAM_STR_KERBEROS      = "Client Krb v2";
318 
319   // Server Capability Flags
320   public final static int CAP_COPY_FILE            = 0x0001;
321   public final static int CAP_CHANGE_PASSWORD      = 0x0002;
322   public final static int CAP_NO_PASSWD_SAVE       = 0x0004;
323   public final static int CAP_MESSAGES             = 0x0008;
324   public final static int CAP_SIGNATURE            = 0x0010;
325   public final static int CAP_TCPIP                = 0x0020;
326   public final static int CAP_NOTIFICATIONS        = 0x0040;
327   public final static int CAP_RECONNECT            = 0x0080;
328   public final static int CAP_OPEN_DIRECTORY       = 0x0100;
329   public final static int CAP_UTF8_NAME            = 0x0200;
330   public final static int CAP_SUPER_CLIENT         = 0x8000;
331 
332   // Diffie-Hellman Key Exchange Constants
333   public final static BigInteger DHX_G = new BigInteger(1, new byte[] { (byte)0x07 });
334   public final static BigInteger DHX_P = new BigInteger(1, new byte[] {
335     (byte)0xba, (byte)0x28, (byte)0x73, (byte)0xdf,
336     (byte)0xb0, (byte)0x60, (byte)0x57, (byte)0xd4,
337     (byte)0x3f, (byte)0x20, (byte)0x24, (byte)0x74,
338     (byte)0x4c, (byte)0xee, (byte)0xe7, (byte)0x5b
339   });
340 }
341