1 // Written in the D programming language.
2 
3 /**
4 This module contains additional errors constants that may be used in 9P / Styx message parsing.
5 
6 Copyright: LightHouse Software, 2021
7 License:   $(HTTP https://github.com/aquaratixc/ESL-License, Experimental Software License 1.0).
8 Authors:   Oleg Bakharev,
9 		   Ilya Pertsev   
10 */
11 module styx2000.extrautil.miscerrors;
12 
13 /// Some kinds of error that are not included in protoconst/errors module
14 enum STYX_ERROR_MESSAGE : string
15 {
16 	/// Slash in path element
17 	ECONTAINSSLASH  = "slash in path element",
18 	
19 	/// Invalid message type
20 	EINVALIDMSGTYPE = "invalid message type",
21 	
22 	/// Invalid message type
23 	EINVALIDQIDTYPE = "invalid type field in qid",
24 	
25 	/// String is not valid utf8
26 	EINVALIDUTF8    = "string is not valid utf8",
27 	
28 	/// Field aname is too long
29 	ELONGANAME      = "aname field too long",
30 	
31 	/// File name too long
32 	ELONGFILENAME   = "file name too long",
33 	
34 	/// Size field is longer than actual message size
35 	ELONGSIZE       = "size field is longer than actual message size",
36 	
37 	/// Long length field in stat structure
38 	ELONGLENGTH     = "long length field in stat structure",
39 	
40 	/// Structure for stat is too long
41 	ELONGSTAT       = "stat structure too long",
42 	
43 	/// Name for uid or gid is too long
44 	ELONGUSERNAME   = "uid or gid name is too long",
45 	
46 	/// Protocol version string too long
47 	ELONGVERSION    = "protocol version string too long",
48 	
49 	/// Maximum offset exceeded
50 	EMAXOFFSET      = "maximum offset exceeded",
51 	
52 	/// Maximum walk elements exceeded
53 	EMAXWELEM       = "maximum walk elements exceeded",
54 	
55 	/// NUL in string field
56 	ENULLSTRING     = "NUL in string field",
57 	
58 	/// Size of field exceeds size of message
59 	EOVERSIZE       = "size of field exceeds size of message",
60 	
61 	/// Structure for stat is too short
62 	ESHORTSTAT      = "stat structure too short",
63 	
64 	/// Message is too long
65 	ETOOBIG         = "message is too long",
66 	
67 	/// Message is too small
68 	ETOOSMALL       = "message is too small",
69 	
70 	/// Empty space in message
71 	EUNDERSIZE      = "empty space in message",
72 	
73 	/// Zero length message
74 	EZEROLEN        = "zero-length message",
75 	
76 	/// Message size exceeds msize
77 	EMAXSIZE 	    = "message exceeds msize",
78 	
79 	/// Needed STYX_NOTAG
80 	ENEEDNOTAG    = "STYX_NOTAG(0xffff) required for T_Version",
81 	
82 	/// Only 9P2000 allowed
83 	E9P2000ONLY   = "only 9P2000 protocol version",
84 	
85 	/// No authentication required
86 	ENOAUTH       = "no authentication required",
87 	
88 	/// No authentication fid required
89 	ENEEDNOFID    = "no authentication fid required",
90 	
91 	/// Alternate root requested unavailable
92 	ENOALTROOT    = "alternate root requested unavailable",
93 	
94 	/// Supplied fid invalid
95 	EINVALIDFID   = "supplied fid invalid",
96 		
97 	/// Not a directory
98 	ENOTDIR       = "not a directory",
99 	
100 	/// File already opened
101 	EALREADYOPEN  = "file already open",
102 	
103 	/// Not found
104 	ENOTFOUND     = "not found",
105 	
106 	/// Not opened
107 	ENOTOPEN      = "file not opened",
108 	
109 	/// Bad offset
110 	EBADOFFSET    = "bad offset",
111 	
112 	/// Botch 9P
113 	EBOTCH        = "9P protocol botch",
114 	
115 	/// Create in non directory
116 	ECREATENONDIR = "create in non-directory",
117 	
118 	/// Duplicate fid
119 	EDUPFID 	  = "duplicate fid",
120 	
121 	/// Duplicate tag
122 	EDUPTAG 	  = "duplicate tag",
123 	
124 	/// Is directory
125 	EISDIR 		  = "is a directory",
126 	
127 	/// Create prohibited
128 	ENOCREATE 	  = "create prohibited",
129 	
130 	/// Remove prohibited
131 	ENOREMOVE     = "remove prohibited",
132 	
133 	/// Stat prohibited
134 	ENOSTAT 	  = "stat prohibited",
135 	
136 	/// Wstat prohibited
137 	ENOWSTAT 	  = "wstat prohibited",
138 	
139 	/// Bad directory in W_STAT
140 	EBADDIR 	  = "bad directory in wstat",
141 	
142 	/// Walk in non directory
143 	EWALKNOTDIR   = "walk in non-directory"
144 }