1ebe86aacSJohn Birrell /* 2ebe86aacSJohn Birrell * CDDL HEADER START 3ebe86aacSJohn Birrell * 4ebe86aacSJohn Birrell * The contents of this file are subject to the terms of the 5ebe86aacSJohn Birrell * Common Development and Distribution License, Version 1.0 only 6ebe86aacSJohn Birrell * (the "License"). You may not use this file except in compliance 7ebe86aacSJohn Birrell * with the License. 8ebe86aacSJohn Birrell * 9ebe86aacSJohn Birrell * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10ebe86aacSJohn Birrell * or http://www.opensolaris.org/os/licensing. 11ebe86aacSJohn Birrell * See the License for the specific language governing permissions 12ebe86aacSJohn Birrell * and limitations under the License. 13ebe86aacSJohn Birrell * 14ebe86aacSJohn Birrell * When distributing Covered Code, include this CDDL HEADER in each 15ebe86aacSJohn Birrell * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16ebe86aacSJohn Birrell * If applicable, add the following below this CDDL HEADER, with the 17ebe86aacSJohn Birrell * fields enclosed by brackets "[]" replaced with your own identifying 18ebe86aacSJohn Birrell * information: Portions Copyright [yyyy] [name of copyright owner] 19ebe86aacSJohn Birrell * 20ebe86aacSJohn Birrell * CDDL HEADER END 21ebe86aacSJohn Birrell * 22ebe86aacSJohn Birrell * Portions Copyright 2006-2008 John Birrell jb@freebsd.org 23492494d9SDevin Teske * Portions Copyright 2018 Devin Teske dteske@freebsd.org 24ebe86aacSJohn Birrell */ 25ebe86aacSJohn Birrell /* 26ebe86aacSJohn Birrell * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 27ebe86aacSJohn Birrell * Use is subject to license terms. 28ebe86aacSJohn Birrell */ 29ebe86aacSJohn Birrell 30ebe86aacSJohn Birrell inline int EPERM = 1; 31ebe86aacSJohn Birrell #pragma D binding "1.0" EPERM 32ebe86aacSJohn Birrell inline int ENOENT = 2; 33ebe86aacSJohn Birrell #pragma D binding "1.0" ENOENT 34ebe86aacSJohn Birrell inline int ESRCH = 3; 35ebe86aacSJohn Birrell #pragma D binding "1.0" ESRCH 36ebe86aacSJohn Birrell inline int EINTR = 4; 37ebe86aacSJohn Birrell #pragma D binding "1.0" EINTR 38ebe86aacSJohn Birrell inline int EIO = 5; 39ebe86aacSJohn Birrell #pragma D binding "1.0" EIO 40ebe86aacSJohn Birrell inline int ENXIO = 6; 41ebe86aacSJohn Birrell #pragma D binding "1.0" ENXIO 42ebe86aacSJohn Birrell inline int E2BIG = 7; 43ebe86aacSJohn Birrell #pragma D binding "1.0" E2BIG 44ebe86aacSJohn Birrell inline int ENOEXEC = 8; 45ebe86aacSJohn Birrell #pragma D binding "1.0" ENOEXEC 46ebe86aacSJohn Birrell inline int EBADF = 9; 47ebe86aacSJohn Birrell #pragma D binding "1.0" EBADF 48ebe86aacSJohn Birrell inline int ECHILD = 10; 49ebe86aacSJohn Birrell #pragma D binding "1.0" ECHILD 50ebe86aacSJohn Birrell inline int EDEADLK = 11; 51ebe86aacSJohn Birrell #pragma D binding "1.0" EDEADLK 52ebe86aacSJohn Birrell inline int ENOMEM = 12; 53ebe86aacSJohn Birrell #pragma D binding "1.0" ENOMEM 54ebe86aacSJohn Birrell inline int EACCES = 13; 55ebe86aacSJohn Birrell #pragma D binding "1.0" EACCES 56ebe86aacSJohn Birrell inline int EFAULT = 14; 57ebe86aacSJohn Birrell #pragma D binding "1.0" EFAULT 58ebe86aacSJohn Birrell inline int ENOTBLK = 15; 59ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTBLK 60ebe86aacSJohn Birrell inline int EBUSY = 16; 61ebe86aacSJohn Birrell #pragma D binding "1.0" EBUSY 62ebe86aacSJohn Birrell inline int EEXIST = 17; 63ebe86aacSJohn Birrell #pragma D binding "1.0" EEXIST 64ebe86aacSJohn Birrell inline int EXDEV = 18; 65ebe86aacSJohn Birrell #pragma D binding "1.0" EXDEV 66ebe86aacSJohn Birrell inline int ENODEV = 19; 67ebe86aacSJohn Birrell #pragma D binding "1.0" ENODEV 68ebe86aacSJohn Birrell inline int ENOTDIR = 20; 69ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTDIR 70ebe86aacSJohn Birrell inline int EISDIR = 21; 71ebe86aacSJohn Birrell #pragma D binding "1.0" EISDIR 72ebe86aacSJohn Birrell inline int EINVAL = 22; 73ebe86aacSJohn Birrell #pragma D binding "1.0" EINVAL 74ebe86aacSJohn Birrell inline int ENFILE = 23; 75ebe86aacSJohn Birrell #pragma D binding "1.0" ENFILE 76ebe86aacSJohn Birrell inline int EMFILE = 24; 77ebe86aacSJohn Birrell #pragma D binding "1.0" EMFILE 78ebe86aacSJohn Birrell inline int ENOTTY = 25; 79ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTTY 80ebe86aacSJohn Birrell inline int ETXTBSY = 26; 81ebe86aacSJohn Birrell #pragma D binding "1.0" ETXTBSY 82ebe86aacSJohn Birrell inline int EFBIG = 27; 83ebe86aacSJohn Birrell #pragma D binding "1.0" EFBIG 84ebe86aacSJohn Birrell inline int ENOSPC = 28; 85ebe86aacSJohn Birrell #pragma D binding "1.0" ENOSPC 86ebe86aacSJohn Birrell inline int ESPIPE = 29; 87ebe86aacSJohn Birrell #pragma D binding "1.0" ESPIPE 88ebe86aacSJohn Birrell inline int EROFS = 30; 89ebe86aacSJohn Birrell #pragma D binding "1.0" EROFS 90ebe86aacSJohn Birrell inline int EMLINK = 31; 91ebe86aacSJohn Birrell #pragma D binding "1.0" EMLINK 92ebe86aacSJohn Birrell inline int EPIPE = 32; 93ebe86aacSJohn Birrell #pragma D binding "1.0" EPIPE 94ebe86aacSJohn Birrell inline int EDOM = 33; 95ebe86aacSJohn Birrell #pragma D binding "1.0" EDOM 96ebe86aacSJohn Birrell inline int ERANGE = 34; 97ebe86aacSJohn Birrell #pragma D binding "1.0" ERANGE 98ebe86aacSJohn Birrell inline int EAGAIN = 35; 99ebe86aacSJohn Birrell #pragma D binding "1.0" EAGAIN 100ebe86aacSJohn Birrell inline int EWOULDBLOCK = EAGAIN; 101ebe86aacSJohn Birrell #pragma D binding "1.0" EWOULDBLOCK 102ebe86aacSJohn Birrell inline int EINPROGRESS = 36; 103ebe86aacSJohn Birrell #pragma D binding "1.0" EINPROGRESS 104ebe86aacSJohn Birrell inline int EALREADY = 37; 105ebe86aacSJohn Birrell #pragma D binding "1.0" EALREADY 106ebe86aacSJohn Birrell inline int ENOTSOCK = 38; 107ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTSOCK 108ebe86aacSJohn Birrell inline int EDESTADDRREQ = 39; 109ebe86aacSJohn Birrell #pragma D binding "1.0" EDESTADDRREQ 110ebe86aacSJohn Birrell inline int EMSGSIZE = 40; 111ebe86aacSJohn Birrell #pragma D binding "1.0" EMSGSIZE 112ebe86aacSJohn Birrell inline int EPROTOTYPE = 41; 113ebe86aacSJohn Birrell #pragma D binding "1.0" EPROTOTYPE 114ebe86aacSJohn Birrell inline int ENOPROTOOPT = 42; 115ebe86aacSJohn Birrell #pragma D binding "1.0" ENOPROTOOPT 116ebe86aacSJohn Birrell inline int EPROTONOSUPPORT = 43; 117ebe86aacSJohn Birrell #pragma D binding "1.0" EPROTONOSUPPORT 118ebe86aacSJohn Birrell inline int ESOCKTNOSUPPORT = 44; 119ebe86aacSJohn Birrell #pragma D binding "1.0" ESOCKTNOSUPPORT 120ebe86aacSJohn Birrell inline int EOPNOTSUPP = 45; 121ebe86aacSJohn Birrell #pragma D binding "1.0" EOPNOTSUPP 122ebe86aacSJohn Birrell inline int ENOTSUP = EOPNOTSUPP; 123ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTSUP 124ebe86aacSJohn Birrell inline int EPFNOSUPPORT = 46; 125ebe86aacSJohn Birrell #pragma D binding "1.0" EPFNOSUPPORT 126ebe86aacSJohn Birrell inline int EAFNOSUPPORT = 47; 127ebe86aacSJohn Birrell #pragma D binding "1.0" EAFNOSUPPORT 128ebe86aacSJohn Birrell inline int EADDRINUSE = 48; 129ebe86aacSJohn Birrell #pragma D binding "1.0" EADDRINUSE 130ebe86aacSJohn Birrell inline int EADDRNOTAVAIL = 49; 131ebe86aacSJohn Birrell #pragma D binding "1.0" EADDRNOTAVAIL 132ebe86aacSJohn Birrell inline int ENETDOWN = 50; 133ebe86aacSJohn Birrell #pragma D binding "1.0" ENETDOWN 134ebe86aacSJohn Birrell inline int ENETUNREACH = 51; 135ebe86aacSJohn Birrell #pragma D binding "1.0" ENETUNREACH 136ebe86aacSJohn Birrell inline int ENETRESET = 52; 137ebe86aacSJohn Birrell #pragma D binding "1.0" ENETRESET 138ebe86aacSJohn Birrell inline int ECONNABORTED = 53; 139ebe86aacSJohn Birrell #pragma D binding "1.0" ECONNABORTED 140ebe86aacSJohn Birrell inline int ECONNRESET = 54; 141ebe86aacSJohn Birrell #pragma D binding "1.0" ECONNRESET 142ebe86aacSJohn Birrell inline int ENOBUFS = 55; 143ebe86aacSJohn Birrell #pragma D binding "1.0" ENOBUFS 144ebe86aacSJohn Birrell inline int EISCONN = 56; 145ebe86aacSJohn Birrell #pragma D binding "1.0" EISCONN 146ebe86aacSJohn Birrell inline int ENOTCONN = 57; 147ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTCONN 148ebe86aacSJohn Birrell inline int ESHUTDOWN = 58; 149ebe86aacSJohn Birrell #pragma D binding "1.0" ESHUTDOWN 150ebe86aacSJohn Birrell inline int ETOOMANYREFS = 59; 151ebe86aacSJohn Birrell #pragma D binding "1.0" ETOOMANYREFS 152ebe86aacSJohn Birrell inline int ETIMEDOUT = 60; 153ebe86aacSJohn Birrell #pragma D binding "1.0" ETIMEDOUT 154ebe86aacSJohn Birrell inline int ECONNREFUSED = 61; 155ebe86aacSJohn Birrell #pragma D binding "1.0" ECONNREFUSED 156ebe86aacSJohn Birrell inline int ELOOP = 62; 157ebe86aacSJohn Birrell #pragma D binding "1.0" ELOOP 158ebe86aacSJohn Birrell inline int ENAMETOOLONG = 63; 159ebe86aacSJohn Birrell #pragma D binding "1.0" ENAMETOOLONG 160ebe86aacSJohn Birrell inline int EHOSTDOWN = 64; 161ebe86aacSJohn Birrell #pragma D binding "1.0" EHOSTDOWN 162ebe86aacSJohn Birrell inline int EHOSTUNREACH = 65; 163ebe86aacSJohn Birrell #pragma D binding "1.0" EHOSTUNREACH 164ebe86aacSJohn Birrell inline int ENOTEMPTY = 66; 165ebe86aacSJohn Birrell #pragma D binding "1.0" ENOTEMPTY 166ebe86aacSJohn Birrell inline int EPROCLIM = 67; 167ebe86aacSJohn Birrell #pragma D binding "1.0" EPROCLIM 168ebe86aacSJohn Birrell inline int EUSERS = 68; 169ebe86aacSJohn Birrell #pragma D binding "1.0" EUSERS 170ebe86aacSJohn Birrell inline int EDQUOT = 69; 171ebe86aacSJohn Birrell #pragma D binding "1.0" EDQUOT 172ebe86aacSJohn Birrell inline int ESTALE = 70; 173ebe86aacSJohn Birrell #pragma D binding "1.0" ESTALE 174ebe86aacSJohn Birrell inline int EREMOTE = 71; 175ebe86aacSJohn Birrell #pragma D binding "1.0" EREMOTE 176ebe86aacSJohn Birrell inline int EBADRPC = 72; 177ebe86aacSJohn Birrell #pragma D binding "1.0" EBADRPC 178ebe86aacSJohn Birrell inline int ERPCMISMATCH = 73; 179ebe86aacSJohn Birrell #pragma D binding "1.0" ERPCMISMATCH 180ebe86aacSJohn Birrell inline int EPROGUNAVAIL = 74; 181ebe86aacSJohn Birrell #pragma D binding "1.0" EPROGUNAVAIL 182ebe86aacSJohn Birrell inline int EPROGMISMATCH = 75; 183ebe86aacSJohn Birrell #pragma D binding "1.0" EPROGMISMATCH 184ebe86aacSJohn Birrell inline int EPROCUNAVAIL = 76; 185ebe86aacSJohn Birrell #pragma D binding "1.0" EPROCUNAVAIL 186ebe86aacSJohn Birrell inline int ENOLCK = 77; 187ebe86aacSJohn Birrell #pragma D binding "1.0" ENOLCK 188ebe86aacSJohn Birrell inline int ENOSYS = 78; 189ebe86aacSJohn Birrell #pragma D binding "1.0" ENOSYS 190ebe86aacSJohn Birrell inline int EFTYPE = 79; 191ebe86aacSJohn Birrell #pragma D binding "1.0" EFTYPE 192ebe86aacSJohn Birrell inline int EAUTH = 80; 193ebe86aacSJohn Birrell #pragma D binding "1.0" EAUTH 194ebe86aacSJohn Birrell inline int ENEEDAUTH = 81; 195ebe86aacSJohn Birrell #pragma D binding "1.0" ENEEDAUTH 196ebe86aacSJohn Birrell inline int EIDRM = 82; 197ebe86aacSJohn Birrell #pragma D binding "1.0" EIDRM 198ebe86aacSJohn Birrell inline int ENOMSG = 83; 199ebe86aacSJohn Birrell #pragma D binding "1.0" ENOMSG 200ebe86aacSJohn Birrell inline int EOVERFLOW = 84; 201ebe86aacSJohn Birrell #pragma D binding "1.0" EOVERFLOW 202ebe86aacSJohn Birrell inline int ECANCELED = 85; 203ebe86aacSJohn Birrell #pragma D binding "1.0" ECANCELED 204ebe86aacSJohn Birrell inline int EILSEQ = 86; 205ebe86aacSJohn Birrell #pragma D binding "1.0" EILSEQ 206ebe86aacSJohn Birrell inline int ENOATTR = 87; 207ebe86aacSJohn Birrell #pragma D binding "1.0" ENOATTR 208ebe86aacSJohn Birrell inline int EDOOFUS = 88; 209ebe86aacSJohn Birrell #pragma D binding "1.0" EDOOFUS 210ebe86aacSJohn Birrell inline int EBADMSG = 89; 211ebe86aacSJohn Birrell #pragma D binding "1.0" EBADMSG 212ebe86aacSJohn Birrell inline int EMULTIHOP = 90; 213ebe86aacSJohn Birrell #pragma D binding "1.0" EMULTIHOP 214ebe86aacSJohn Birrell inline int ENOLINK = 91; 215ebe86aacSJohn Birrell #pragma D binding "1.0" ENOLINK 216ebe86aacSJohn Birrell inline int EPROTO = 92; 217ebe86aacSJohn Birrell #pragma D binding "1.0" EPROTO 21885ef133dSDevin Teske inline int ENOTCAPABLE = 93; 21985ef133dSDevin Teske #pragma D binding "1.13" ENOTCAPABLE 22085ef133dSDevin Teske inline int ECAPMODE = 94; 22185ef133dSDevin Teske #pragma D binding "1.13" ECAPMODE 22285ef133dSDevin Teske inline int ENOTRECOVERABLE = 95; 22385ef133dSDevin Teske #pragma D binding "1.13" ENOTRECOVERABLE 22485ef133dSDevin Teske inline int EOWNERDEAD = 96; 22585ef133dSDevin Teske #pragma D binding "1.13" EOWNERDEAD 226*8d4b1e3bSMark Johnston inline int EINTEGRITY = 97; 22788640c0eSKirk McKusick #pragma D binding "1.13" EINTEGRITY 22888640c0eSKirk McKusick inline int ELAST = 97; 229ebe86aacSJohn Birrell #pragma D binding "1.0" ELAST 230ebe86aacSJohn Birrell inline int ERESTART = -1; 231ebe86aacSJohn Birrell #pragma D binding "1.0" ERESTART 232ebe86aacSJohn Birrell inline int EJUSTRETURN = -2; 233ebe86aacSJohn Birrell #pragma D binding "1.0" EJUSTRETURN 234ebe86aacSJohn Birrell inline int ENOIOCTL = -3; 235ebe86aacSJohn Birrell #pragma D binding "1.0" ENOIOCTL 236ebe86aacSJohn Birrell inline int EDIRIOCTL = -4; 237ebe86aacSJohn Birrell #pragma D binding "1.0" EDIRIOCTL 23885ef133dSDevin Teske inline int ERELOOKUP = -5; 23985ef133dSDevin Teske #pragma D binding "1.13" ERELOOKUP 240492494d9SDevin Teske 241492494d9SDevin Teske /* 242492494d9SDevin Teske * Error strings from <sys/errno.h> 243492494d9SDevin Teske */ 244492494d9SDevin Teske #pragma D binding "1.13" strerror 245492494d9SDevin Teske inline string strerror[int errno] = 246492494d9SDevin Teske errno == 0 ? "Success" : 247492494d9SDevin Teske errno == EPERM ? "Operation not permitted" : 248492494d9SDevin Teske errno == ENOENT ? "No such file or directory" : 249492494d9SDevin Teske errno == ESRCH ? "No such process" : 250492494d9SDevin Teske errno == EINTR ? "Interrupted system call" : 251492494d9SDevin Teske errno == EIO ? "Input/output error" : 252492494d9SDevin Teske errno == ENXIO ? "Device not configured" : 253492494d9SDevin Teske errno == E2BIG ? "Argument list too long" : 254492494d9SDevin Teske errno == ENOEXEC ? "Exec format error" : 255492494d9SDevin Teske errno == EBADF ? "Bad file descriptor" : 256492494d9SDevin Teske errno == ECHILD ? "No child processes" : 257492494d9SDevin Teske errno == EDEADLK ? "Resource deadlock avoided" : 258492494d9SDevin Teske errno == ENOMEM ? "Cannot allocate memory" : 259492494d9SDevin Teske errno == EACCES ? "Permission denied" : 260492494d9SDevin Teske errno == EFAULT ? "Bad address" : 261492494d9SDevin Teske errno == ENOTBLK ? "Block device required" : 262492494d9SDevin Teske errno == EBUSY ? "Device busy" : 263492494d9SDevin Teske errno == EEXIST ? "File exists" : 264492494d9SDevin Teske errno == EXDEV ? "Cross-device link" : 265492494d9SDevin Teske errno == ENODEV ? "Operation not supported by device" : 266492494d9SDevin Teske errno == ENOTDIR ? "Not a directory" : 267492494d9SDevin Teske errno == EISDIR ? "Is a directory" : 268492494d9SDevin Teske errno == EINVAL ? "Invalid argument" : 269492494d9SDevin Teske errno == ENFILE ? "Too many open files in system" : 270492494d9SDevin Teske errno == EMFILE ? "Too many open files" : 271492494d9SDevin Teske errno == ENOTTY ? "Inappropriate ioctl for device" : 272492494d9SDevin Teske errno == ETXTBSY ? "Text file busy" : 273492494d9SDevin Teske errno == EFBIG ? "File too large" : 274492494d9SDevin Teske errno == ENOSPC ? "No space left on device" : 275492494d9SDevin Teske errno == ESPIPE ? "Illegal seek" : 276492494d9SDevin Teske errno == EROFS ? "Read-only filesystem" : 277492494d9SDevin Teske errno == EMLINK ? "Too many links" : 278492494d9SDevin Teske errno == EPIPE ? "Broken pipe" : 279492494d9SDevin Teske errno == EDOM ? "Numerical argument out of domain" : 280492494d9SDevin Teske errno == ERANGE ? "Result too large" : 281492494d9SDevin Teske errno == EAGAIN ? "Resource temporarily unavailable" : 282492494d9SDevin Teske errno == EINPROGRESS ? "Operation now in progress" : 283492494d9SDevin Teske errno == EALREADY ? "Operation already in progress" : 284492494d9SDevin Teske errno == ENOTSOCK ? "Socket operation on non-socket" : 285492494d9SDevin Teske errno == EDESTADDRREQ ? "Destination address required" : 286492494d9SDevin Teske errno == EMSGSIZE ? "Message too long" : 287492494d9SDevin Teske errno == EPROTOTYPE ? "Protocol wrong type for socket" : 288492494d9SDevin Teske errno == ENOPROTOOPT ? "Protocol not available" : 289492494d9SDevin Teske errno == EPROTONOSUPPORT ? "Protocol not supported" : 290492494d9SDevin Teske errno == ESOCKTNOSUPPORT ? "Socket type not supported" : 291492494d9SDevin Teske errno == EOPNOTSUPP ? "Operation not supported" : 292492494d9SDevin Teske errno == EPFNOSUPPORT ? "Protocol family not supported" : 293492494d9SDevin Teske errno == EAFNOSUPPORT ? "Address family not supported by protocol family" : 294492494d9SDevin Teske errno == EADDRINUSE ? "Address already in use" : 295492494d9SDevin Teske errno == EADDRNOTAVAIL ? "Can't assign requested address" : 296492494d9SDevin Teske errno == ENETDOWN ? "Network is down" : 297492494d9SDevin Teske errno == ENETUNREACH ? "Network is unreachable" : 298492494d9SDevin Teske errno == ENETRESET ? "Network dropped connection on reset" : 299492494d9SDevin Teske errno == ECONNABORTED ? "Software caused connection abort" : 300492494d9SDevin Teske errno == ECONNRESET ? "Connection reset by peer" : 301492494d9SDevin Teske errno == ENOBUFS ? "No buffer space available" : 302492494d9SDevin Teske errno == EISCONN ? "Socket is already connected" : 303492494d9SDevin Teske errno == ENOTCONN ? "Socket is not connected" : 304492494d9SDevin Teske errno == ESHUTDOWN ? "Can't send after socket shutdown" : 305492494d9SDevin Teske errno == ETOOMANYREFS ? "Too many references: can't splice" : 306492494d9SDevin Teske errno == ETIMEDOUT ? "Operation timed out" : 307492494d9SDevin Teske errno == ECONNREFUSED ? "Connection refused" : 308492494d9SDevin Teske errno == ELOOP ? "Too many levels of symbolic links" : 309492494d9SDevin Teske errno == ENAMETOOLONG ? "File name too long" : 310492494d9SDevin Teske errno == EHOSTDOWN ? "Host is down" : 311492494d9SDevin Teske errno == EHOSTUNREACH ? "No route to host" : 312492494d9SDevin Teske errno == ENOTEMPTY ? "Directory not empty" : 313492494d9SDevin Teske errno == EPROCLIM ? "Too many processes" : 314492494d9SDevin Teske errno == EUSERS ? "Too many users" : 315492494d9SDevin Teske errno == EDQUOT ? "Disc quota exceeded" : 316492494d9SDevin Teske errno == ESTALE ? "Stale NFS file handle" : 317492494d9SDevin Teske errno == EREMOTE ? "Too many levels of remote in path" : 318492494d9SDevin Teske errno == EBADRPC ? "RPC struct is bad" : 319492494d9SDevin Teske errno == ERPCMISMATCH ? "RPC version wrong" : 320492494d9SDevin Teske errno == EPROGUNAVAIL ? "RPC prog. not avail" : 321492494d9SDevin Teske errno == EPROGMISMATCH ? "Program version wrong" : 322492494d9SDevin Teske errno == EPROCUNAVAIL ? "Bad procedure for program" : 323492494d9SDevin Teske errno == ENOLCK ? "No locks available" : 324492494d9SDevin Teske errno == ENOSYS ? "Function not implemented" : 325492494d9SDevin Teske errno == EFTYPE ? "Inappropriate file type or format" : 326492494d9SDevin Teske errno == EAUTH ? "Authentication error" : 327492494d9SDevin Teske errno == ENEEDAUTH ? "Need authenticator" : 328492494d9SDevin Teske errno == EIDRM ? "Identifier removed" : 329492494d9SDevin Teske errno == ENOMSG ? "No message of desired type" : 330492494d9SDevin Teske errno == EOVERFLOW ? "Value too large to be stored in data type" : 331492494d9SDevin Teske errno == ECANCELED ? "Operation canceled" : 332492494d9SDevin Teske errno == EILSEQ ? "Illegal byte sequence" : 333492494d9SDevin Teske errno == ENOATTR ? "Attribute not found" : 334492494d9SDevin Teske errno == EDOOFUS ? "Programming error" : 335492494d9SDevin Teske errno == EBADMSG ? "Bad message" : 336492494d9SDevin Teske errno == EMULTIHOP ? "Multihop attempted" : 337492494d9SDevin Teske errno == ENOLINK ? "Link has been severed" : 338492494d9SDevin Teske errno == EPROTO ? "Protocol error" : 339492494d9SDevin Teske errno == ENOTCAPABLE ? "Capabilities insufficient" : 340492494d9SDevin Teske errno == ECAPMODE ? "Not permitted in capability mode" : 341492494d9SDevin Teske errno == ENOTRECOVERABLE ? "State not recoverable" : 342492494d9SDevin Teske errno == EOWNERDEAD ? "Previous owner died" : 34388640c0eSKirk McKusick errno == EINTEGRITY ? "Integrity check failed" : 344492494d9SDevin Teske errno == ERESTART ? "restart syscall" : 345492494d9SDevin Teske errno == EJUSTRETURN ? "don't modify regs, just return" : 346492494d9SDevin Teske errno == ENOIOCTL ? "ioctl not handled by this layer" : 347492494d9SDevin Teske errno == EDIRIOCTL ? "do direct ioctl in GEOM" : 348492494d9SDevin Teske errno == ERELOOKUP ? "retry the directory lookup" : 349492494d9SDevin Teske "Unknown error"; 350