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 }