diff options
Diffstat (limited to 'epan/dissectors/packet-bblog.h')
-rw-r--r-- | epan/dissectors/packet-bblog.h | 461 |
1 files changed, 461 insertions, 0 deletions
diff --git a/epan/dissectors/packet-bblog.h b/epan/dissectors/packet-bblog.h new file mode 100644 index 00000000..dff07875 --- /dev/null +++ b/epan/dissectors/packet-bblog.h @@ -0,0 +1,461 @@ +/* packet-bblog.h + * Constants for Black Box Log dissection + * Copyright 2022 Michael Tuexen <tuexen [AT] wireshark.org> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __PACKET_BBLOG_H_ +#define __PACKET_BBLOG_H_ + +/* + * The t_state values used here are defined in + * https://cgit.freebsd.org/src/tree/sys/netinet/tcp_fsm.h + */ +static const value_string tcp_state_values[] = { + { 0, "CLOSED" }, + { 1, "LISTEN" }, + { 2, "SYN-SENT" }, + { 3, "SYN-RECEIVED" }, + { 4, "ESTABLISHED" }, + { 5, "CLOSE-WAIT" }, + { 6, "FIN-WAIT-1" }, + { 7, "CLOSING" }, + { 8, "LAST-ACK" }, + { 9, "FIN-WAIT-2" }, + { 10, "TIME-WAIT" }, + { 0, NULL } }; + +/* + * The event types used here are defined in + * https://cgit.freebsd.org/src/tree/sys/netinet/tcp_log_buf.h + */ + +#define BBLOG_TCP_LOG_IN 1 +#define BBLOG_TCP_LOG_OUT 2 +/* Use a better name for the event used for various timer events */ +#define BBLOG_TCP_LOG_TIMER 3 +#define BBLOG_TCP_LOG_SB_WAKE 4 +#define BBLOG_TCP_LOG_BAD_RETRAN 5 +#define BBLOG_TCP_LOG_PRR 6 +#define BBLOG_TCP_LOG_REORDER 7 +#define BBLOG_TCP_LOG_HPTS 8 +#define BBLOG_BBR_LOG_BBRUPD 9 +#define BBLOG_BBR_LOG_BBRSND 10 +#define BBLOG_BBR_LOG_ACKCLEAR 11 +#define BBLOG_BBR_LOG_INQUEUE 12 +#define BBLOG_BBR_LOG_TIMERSTAR 13 +#define BBLOG_BBR_LOG_TIMERCANC 14 +#define BBLOG_BBR_LOG_ENTREC 15 +#define BBLOG_BBR_LOG_EXITREC 16 +#define BBLOG_BBR_LOG_CWND 17 +#define BBLOG_BBR_LOG_BWSAMP 18 +#define BBLOG_BBR_LOG_MSGSIZE 19 +#define BBLOG_BBR_LOG_BBRRTT 20 +#define BBLOG_BBR_LOG_JUSTRET 21 +#define BBLOG_BBR_LOG_STATE 22 +#define BBLOG_BBR_LOG_PKT_EPOCH 23 +#define BBLOG_BBR_LOG_PERSIST 24 +#define BBLOG_TCP_LOG_FLOWEND 25 +#define BBLOG_BBR_LOG_RTO 26 +#define BBLOG_BBR_LOG_DOSEG_DONE 27 +#define BBLOG_BBR_LOG_EXIT_GAIN 28 +#define BBLOG_BBR_LOG_THRESH_CALC 29 +#define BBLOG_TCP_LOG_MAPCHG 30 +#define BBLOG_TCP_LOG_USERSEND 31 +#define BBLOG_BBR_RSM_CLEARED 32 +#define BBLOG_BBR_LOG_STATE_TARGET 33 +#define BBLOG_BBR_LOG_TIME_EPOCH 34 +#define BBLOG_BBR_LOG_TO_PROCESS 35 +#define BBLOG_BBR_LOG_BBRTSO 36 +#define BBLOG_BBR_LOG_HPTSDIAG 37 +#define BBLOG_BBR_LOG_LOWGAIN 38 +#define BBLOG_BBR_LOG_PROGRESS 39 +#define BBLOG_TCP_LOG_SOCKET_OPT 40 +#define BBLOG_BBR_LOG_TIMERPREP 41 +#define BBLOG_BBR_LOG_ENOBUF_JMP 42 +#define BBLOG_BBR_LOG_HPTSI_CALC 43 +#define BBLOG_BBR_LOG_RTT_SHRINKS 44 +#define BBLOG_BBR_LOG_BW_RED_EV 45 +#define BBLOG_BBR_LOG_REDUCE 46 +#define BBLOG_TCP_LOG_RTT 47 +#define BBLOG_BBR_LOG_SETTINGS_CHG 48 +#define BBLOG_BBR_LOG_SRTT_GAIN_EVENT 49 +#define BBLOG_TCP_LOG_REASS 50 +#define BBLOG_TCP_HDWR_TLS 51 +#define BBLOG_BBR_LOG_HDWR_PACE 52 +#define BBLOG_BBR_LOG_TSTMP_VAL 53 +#define BBLOG_TCP_LOG_CONNEND 54 +#define BBLOG_TCP_LOG_LRO 55 +#define BBLOG_TCP_SACK_FILTER_RES 56 +#define BBLOG_TCP_SAD_DETECTION 57 +#define BBLOG_TCP_TIMELY_WORK 58 +#define BBLOG_TCP_LOG_USER_EVENT 59 +#define BBLOG_TCP_LOG_SENDFILE 60 +#define BBLOG_TCP_LOG_HTTP_T 61 +#define BBLOG_TCP_LOG_ACCOUNTING 62 +#define BBLOG_TCP_LOG_FSB 63 +#define BBLOG_RACK_DSACK_HANDLING 64 +#define BBLOG_TCP_HYSTART 65 +#define BBLOG_TCP_CHG_QUERY 66 +#define BBLOG_TCP_RACK_LOG_COLLAPSE 67 +#define TCP_RACK_TP_TRIGGERED 68 +#define TCP_HYBRID_PACING_LOG 69 +#define TCP_LOG_PRU 70 +#define BBLOG_TCP_LOG_END 71 + +static const value_string event_identifier_values[] = { + { BBLOG_TCP_LOG_IN, "Incoming packet" }, + { BBLOG_TCP_LOG_OUT, "Transmit (without other event)" }, + { BBLOG_TCP_LOG_TIMER, "Timer" }, + { BBLOG_TCP_LOG_SB_WAKE, "Awaken socket buffer" }, + { BBLOG_TCP_LOG_BAD_RETRAN, "Detected bad retransmission" }, + { BBLOG_TCP_LOG_PRR, "Doing PRR" }, + { BBLOG_TCP_LOG_REORDER, "Detected reorder" }, + { BBLOG_TCP_LOG_HPTS, "Hpts sending a packet" }, + { BBLOG_BBR_LOG_BBRUPD, "We updated BBR info" }, + { BBLOG_BBR_LOG_BBRSND, "We did a slot calculation and sending is done" }, + { BBLOG_BBR_LOG_ACKCLEAR, "An ack clears all outstanding" }, + { BBLOG_BBR_LOG_INQUEUE, "The tcb had a packet input to it" }, + { BBLOG_BBR_LOG_TIMERSTAR, "Start a timer" }, + { BBLOG_BBR_LOG_TIMERCANC, "Cancel a timer" }, + { BBLOG_BBR_LOG_ENTREC, "Entered recovery" }, + { BBLOG_BBR_LOG_EXITREC, "Exited recovery" }, + { BBLOG_BBR_LOG_CWND, "Cwnd change" }, + { BBLOG_BBR_LOG_BWSAMP, "LT B/W sample has been made" }, + { BBLOG_BBR_LOG_MSGSIZE, "We received a EMSGSIZE error" }, + { BBLOG_BBR_LOG_BBRRTT, "BBR RTT is updated" }, + { BBLOG_BBR_LOG_JUSTRET, "We just returned out of output" }, + { BBLOG_BBR_LOG_STATE, "A BBR state change occurred" }, + { BBLOG_BBR_LOG_PKT_EPOCH, "A BBR packet epoch occurred" }, + { BBLOG_BBR_LOG_PERSIST, "BBR changed to/from a persists" }, + { BBLOG_TCP_LOG_FLOWEND, "End of a flow" }, + { BBLOG_BBR_LOG_RTO, "BBR's timeout includes BBR info" }, + { BBLOG_BBR_LOG_DOSEG_DONE, "hpts do_segment completes" }, + { BBLOG_BBR_LOG_EXIT_GAIN, "BBR exiting gain" }, + { BBLOG_BBR_LOG_THRESH_CALC, "Doing threshold calculation" }, + { BBLOG_TCP_LOG_MAPCHG, "Map Changes to the sendmap" }, + { BBLOG_TCP_LOG_USERSEND, "User level sends data" }, + { BBLOG_BBR_RSM_CLEARED, "RSM cleared of ACK flags" }, + { BBLOG_BBR_LOG_STATE_TARGET, "Log of target at state" }, + { BBLOG_BBR_LOG_TIME_EPOCH, "A timed based Epoch occurred" }, + { BBLOG_BBR_LOG_TO_PROCESS, "A timeout was processed" }, + { BBLOG_BBR_LOG_BBRTSO, "TSO update" }, + { BBLOG_BBR_LOG_HPTSDIAG, "HPTS diag insert" }, + { BBLOG_BBR_LOG_LOWGAIN, "Low gain accounting" }, + { BBLOG_BBR_LOG_PROGRESS, "Progress timer event" }, + { BBLOG_TCP_LOG_SOCKET_OPT, "A socket option is set" }, + { BBLOG_BBR_LOG_TIMERPREP, "A BBR var to debug out TLP issues" }, + { BBLOG_BBR_LOG_ENOBUF_JMP, "We had a ENOBUF jump" }, + { BBLOG_BBR_LOG_HPTSI_CALC, "calc the hptsi time" }, + { BBLOG_BBR_LOG_RTT_SHRINKS, "We had a log reduction of rttProp" }, + { BBLOG_BBR_LOG_BW_RED_EV, "B/W reduction events" }, + { BBLOG_BBR_LOG_REDUCE, "old bbr log reduce for 4.1 and earlier" }, + { BBLOG_TCP_LOG_RTT, "A RTT (in useconds) is being sampled and applied to the SRTT algorithm" }, + { BBLOG_BBR_LOG_SETTINGS_CHG, "Settings changed for loss response 48" }, + { BBLOG_BBR_LOG_SRTT_GAIN_EVENT, "SRTT gaining -- now not used" }, + { BBLOG_TCP_LOG_REASS, "Reassembly buffer logging" }, + { BBLOG_TCP_HDWR_TLS, "TCP Hardware TLS logs" }, + { BBLOG_BBR_LOG_HDWR_PACE, "TCP Hardware pacing log" }, + { BBLOG_BBR_LOG_TSTMP_VAL, "Temp debug timestamp validation" }, + { BBLOG_TCP_LOG_CONNEND, "End of connection" }, + { BBLOG_TCP_LOG_LRO, "LRO entry" }, + { BBLOG_TCP_SACK_FILTER_RES, "Results of SACK Filter" }, + { BBLOG_TCP_SAD_DETECTION, "Sack Attack Detection" }, + { BBLOG_TCP_TIMELY_WORK, "Logs regarding Timely CC tweaks" }, + { BBLOG_TCP_LOG_USER_EVENT, "User space event data" }, + { BBLOG_TCP_LOG_SENDFILE, "sendfile() logging for TCP connections" }, + { BBLOG_TCP_LOG_HTTP_T, "logging of http request tracking" }, + { BBLOG_TCP_LOG_ACCOUNTING, "Log of TCP Accounting data" }, + { BBLOG_TCP_LOG_FSB, "FSB information" }, + { BBLOG_RACK_DSACK_HANDLING, "Handling of DSACK in rack for reordering window" }, + { BBLOG_TCP_HYSTART, "TCP Hystart logging" }, + { BBLOG_TCP_CHG_QUERY, "Change query during fnc_init()" }, + { BBLOG_TCP_RACK_LOG_COLLAPSE, "Window collapse by peer" }, + { TCP_RACK_TP_TRIGGERED, "A RACK tracepoint is triggered" }, + { TCP_HYBRID_PACING_LOG, "Hybrid pacing log" }, + { TCP_LOG_PRU, "TCP protocol user request" }, + { 0, NULL } }; + +/* + * The event flag values used here are defined in + * https://cgit.freebsd.org/src/tree/sys/netinet/tcp_log_buf.h + */ + +#define BBLOG_EVENT_FLAG_RXBUF 0x0001 +#define BBLOG_EVENT_FLAG_TXBUF 0x0002 +#define BBLOG_EVENT_FLAG_HDR 0x0004 +#define BBLOG_EVENT_FLAG_VERBOSE 0x0008 +#define BBLOG_EVENT_FLAG_STACKINFO 0x0010 + +/* + * The t_flags values used here are defined in + * https://cgit.freebsd.org/src/tree/sys/netinet/tcp_var.h + */ + +#define BBLOG_T_FLAGS_ACKNOW 0x00000001 +#define BBLOG_T_FLAGS_DELACK 0x00000002 +#define BBLOG_T_FLAGS_NODELAY 0x00000004 +#define BBLOG_T_FLAGS_NOOPT 0x00000008 +#define BBLOG_T_FLAGS_SENTFIN 0x00000010 +#define BBLOG_T_FLAGS_REQ_SCALE 0x00000020 +#define BBLOG_T_FLAGS_RCVD_SCALE 0x00000040 +#define BBLOG_T_FLAGS_REQ_TSTMP 0x00000080 +#define BBLOG_T_FLAGS_RCVD_TSTMP 0x00000100 +#define BBLOG_T_FLAGS_SACK_PERMIT 0x00000200 +#define BBLOG_T_FLAGS_NEEDSYN 0x00000400 +#define BBLOG_T_FLAGS_NEEDFIN 0x00000800 +#define BBLOG_T_FLAGS_NOPUSH 0x00001000 +#define BBLOG_T_FLAGS_PREVVALID 0x00002000 +#define BBLOG_T_FLAGS_WAKESOR 0x00004000 +#define BBLOG_T_FLAGS_GPUTINPROG 0x00008000 +#define BBLOG_T_FLAGS_MORETOCOME 0x00010000 +#define BBLOG_T_FLAGS_LQ_OVERFLOW 0x00020000 +#define BBLOG_T_FLAGS_LASTIDLE 0x00040000 +#define BBLOG_T_FLAGS_RXWIN0SENT 0x00080000 +#define BBLOG_T_FLAGS_FASTRECOVERY 0x00100000 +#define BBLOG_T_FLAGS_WASFRECOVERY 0x00200000 +#define BBLOG_T_FLAGS_SIGNATURE 0x00400000 +#define BBLOG_T_FLAGS_FORCEDATA 0x00800000 +#define BBLOG_T_FLAGS_TSO 0x01000000 +#define BBLOG_T_FLAGS_TOE 0x02000000 +#define BBLOG_T_FLAGS_UNUSED0 0x04000000 +#define BBLOG_T_FLAGS_UNUSED1 0x08000000 +#define BBLOG_T_FLAGS_LRD 0x10000000 +#define BBLOG_T_FLAGS_CONGRECOVERY 0x20000000 +#define BBLOG_T_FLAGS_WASCRECOVERY 0x40000000 +#define BBLOG_T_FLAGS_FASTOPEN 0x80000000 + +/* + * The t_flags2 values used here are defined in + * https://cgit.freebsd.org/src/tree/sys/netinet/tcp_var.h + */ + +#define BBLOG_T_FLAGS2_PLPMTU_BLACKHOLE 0x00000001 +#define BBLOG_T_FLAGS2_PLPMTU_PMTUD 0x00000002 +#define BBLOG_T_FLAGS2_PLPMTU_MAXSEGSNT 0x00000004 +#define BBLOG_T_FLAGS2_LOG_AUTO 0x00000008 +#define BBLOG_T_FLAGS2_DROP_AFTER_DATA 0x00000010 +#define BBLOG_T_FLAGS2_ECN_PERMIT 0x00000020 +#define BBLOG_T_FLAGS2_ECN_SND_CWR 0x00000040 +#define BBLOG_T_FLAGS2_ECN_SND_ECE 0x00000080 +#define BBLOG_T_FLAGS2_ACE_PERMIT 0x00000100 +#define BBLOG_T_FLAGS2_FIRST_BYTES_COMPLETE 0x00000400 + +#define BBLOG_SND_SCALE_MASK 0x0f +#define BBLOG_RCV_SCALE_MASK 0xf0 + +/* + * The errno values used here are defined in + * https://cgit.freebsd.org/src/tree/sys/sys/errno.h + */ + +#define BBLOG_ERRNO_UNKNOWN -1 +#define BBLOG_ERRNO_NOERROR 0 +#define BBLOG_ERRNO_EPERM 1 +#define BBLOG_ERRNO_ENOENT 2 +#define BBLOG_ERRNO_ESRCH 3 +#define BBLOG_ERRNO_EINTR 4 +#define BBLOG_ERRNO_EIO 5 +#define BBLOG_ERRNO_ENXIO 6 +#define BBLOG_ERRNO_E2BIG 7 +#define BBLOG_ERRNO_ENOEXEC 8 +#define BBLOG_ERRNO_EBADF 9 +#define BBLOG_ERRNO_ECHILD 10 +#define BBLOG_ERRNO_EDEADLK 11 +#define BBLOG_ERRNO_ENOMEM 12 +#define BBLOG_ERRNO_EACCES 13 +#define BBLOG_ERRNO_EFAULT 14 +#define BBLOG_ERRNO_ENOTBLK 15 +#define BBLOG_ERRNO_EBUSY 16 +#define BBLOG_ERRNO_EEXIST 17 +#define BBLOG_ERRNO_EXDEV 18 +#define BBLOG_ERRNO_ENODEV 19 +#define BBLOG_ERRNO_ENOTDIR 20 +#define BBLOG_ERRNO_EISDIR 21 +#define BBLOG_ERRNO_EINVAL 22 +#define BBLOG_ERRNO_ENFILE 23 +#define BBLOG_ERRNO_EMFILE 24 +#define BBLOG_ERRNO_ENOTTY 25 +#define BBLOG_ERRNO_ETXTBSY 26 +#define BBLOG_ERRNO_EFBIG 27 +#define BBLOG_ERRNO_ENOSPC 28 +#define BBLOG_ERRNO_ESPIPE 29 +#define BBLOG_ERRNO_EROFS 30 +#define BBLOG_ERRNO_EMLINK 31 +#define BBLOG_ERRNO_EPIPE 32 +#define BBLOG_ERRNO_EDOM 33 +#define BBLOG_ERRNO_ERANGE 34 +#define BBLOG_ERRNO_EAGAIN 35 +#define BBLOG_ERRNO_EWOULDBLOCK 35 +#define BBLOG_ERRNO_EAGAIN 35 +#define BBLOG_ERRNO_EINPROGRESS 36 +#define BBLOG_ERRNO_EALREADY 37 +#define BBLOG_ERRNO_ENOTSOCK 38 +#define BBLOG_ERRNO_EDESTADDRREQ 39 +#define BBLOG_ERRNO_EMSGSIZE 40 +#define BBLOG_ERRNO_EPROTOTYPE 41 +#define BBLOG_ERRNO_ENOPROTOOPT 42 +#define BBLOG_ERRNO_EPROTONOSUPPORT 43 +#define BBLOG_ERRNO_ESOCKTNOSUPPORT 44 +#define BBLOG_ERRNO_EOPNOTSUPP 45 +#define BBLOG_ERRNO_EPFNOSUPPORT 46 +#define BBLOG_ERRNO_EAFNOSUPPORT 47 +#define BBLOG_ERRNO_EADDRINUSE 48 +#define BBLOG_ERRNO_EADDRNOTAVAIL 49 +#define BBLOG_ERRNO_ENETDOWN 50 +#define BBLOG_ERRNO_ENETUNREACH 51 +#define BBLOG_ERRNO_ENETRESET 52 +#define BBLOG_ERRNO_ECONNABORTED 53 +#define BBLOG_ERRNO_ECONNRESET 54 +#define BBLOG_ERRNO_ENOBUFS 55 +#define BBLOG_ERRNO_EISCONN 56 +#define BBLOG_ERRNO_ENOTCONN 57 +#define BBLOG_ERRNO_ESHUTDOWN 58 +#define BBLOG_ERRNO_ETOOMANYREFS 59 +#define BBLOG_ERRNO_ETIMEDOUT 60 +#define BBLOG_ERRNO_ECONNREFUSED 61 +#define BBLOG_ERRNO_ELOOP 62 +#define BBLOG_ERRNO_ENAMETOOLONG 63 +#define BBLOG_ERRNO_EHOSTDOWN 64 +#define BBLOG_ERRNO_EHOSTUNREACH 65 +#define BBLOG_ERRNO_ENOTEMPTY 66 +#define BBLOG_ERRNO_EPROCLIM 67 +#define BBLOG_ERRNO_EUSERS 68 +#define BBLOG_ERRNO_EDQUOT 69 +#define BBLOG_ERRNO_ESTALE 70 +#define BBLOG_ERRNO_EREMOTE 71 +#define BBLOG_ERRNO_EBADRPC 72 +#define BBLOG_ERRNO_ERPCMISMATCH 73 +#define BBLOG_ERRNO_EPROGUNAVAIL 74 +#define BBLOG_ERRNO_EPROGMISMATCH 75 +#define BBLOG_ERRNO_EPROCUNAVAIL 76 +#define BBLOG_ERRNO_ENOLCK 77 +#define BBLOG_ERRNO_ENOSYS 78 +#define BBLOG_ERRNO_EFTYPE 79 +#define BBLOG_ERRNO_EAUTH 80 +#define BBLOG_ERRNO_ENEEDAUTH 81 +#define BBLOG_ERRNO_EIDRM 82 +#define BBLOG_ERRNO_ENOMSG 83 +#define BBLOG_ERRNO_EOVERFLOW 84 +#define BBLOG_ERRNO_ECANCELED 85 +#define BBLOG_ERRNO_EILSEQ 86 +#define BBLOG_ERRNO_ENOATTR 87 +#define BBLOG_ERRNO_EDOOFUS 88 +#define BBLOG_ERRNO_EBADMSG 89 +#define BBLOG_ERRNO_EMULTIHOP 90 +#define BBLOG_ERRNO_ENOLINK 91 +#define BBLOG_ERRNO_EPROTO 92 +#define BBLOG_ERRNO_ENOTCAPABLE 93 +#define BBLOG_ERRNO_ECAPMODE 94 +#define BBLOG_ERRNO_ENOTRECOVERABLE 95 +#define BBLOG_ERRNO_EOWNERDEAD 96 +#define BBLOG_ERRNO_EINTEGRITY 97 + +static const value_string errno_values[] = { + { BBLOG_ERRNO_UNKNOWN, "Not known" }, + { BBLOG_ERRNO_NOERROR, "No error" }, + { BBLOG_ERRNO_EPERM, "EPERM (Operation not permitted)" }, + { BBLOG_ERRNO_ENOENT, "ENOENT (No such file or directory)" }, + { BBLOG_ERRNO_ESRCH, "ESRCH (No such process)" }, + { BBLOG_ERRNO_EINTR, "EINTR (Interrupted system call)" }, + { BBLOG_ERRNO_EIO, "EIO (Input/output error)" }, + { BBLOG_ERRNO_ENXIO, "ENXIO (Device not configured)" }, + { BBLOG_ERRNO_E2BIG, "E2BIG (Argument list too long)" }, + { BBLOG_ERRNO_ENOEXEC, "ENOEXEC (Exec format error)" }, + { BBLOG_ERRNO_EBADF, "EBADF (Bad file descriptor)" }, + { BBLOG_ERRNO_ECHILD, "ECHILD (No child processes)" }, + { BBLOG_ERRNO_EDEADLK, "EDEADLK (Resource deadlock avoided)" }, + { BBLOG_ERRNO_ENOMEM, "ENOMEM (Cannot allocate memory)" }, + { BBLOG_ERRNO_EACCES, "EACCES (Permission denied)" }, + { BBLOG_ERRNO_EFAULT, "EFAULT (Bad address)" }, + { BBLOG_ERRNO_ENOTBLK, "ENOTBLK (Block device required)" }, + { BBLOG_ERRNO_EBUSY, "EBUSY (Device busy)" }, + { BBLOG_ERRNO_EEXIST, "EEXIST (File exists)" }, + { BBLOG_ERRNO_EXDEV, "EXDEV (Cross-device link)" }, + { BBLOG_ERRNO_ENODEV, "ENODEV (Operation not supported by device)" }, + { BBLOG_ERRNO_ENOTDIR, "ENOTDIR (Not a directory)" }, + { BBLOG_ERRNO_EISDIR, "EISDIR (Is a directory)" }, + { BBLOG_ERRNO_EINVAL, "EINVAL (Invalid argument)" }, + { BBLOG_ERRNO_ENFILE, "ENFILE (Too many open files in system)" }, + { BBLOG_ERRNO_EMFILE, "EMFILE (Too many open files)" }, + { BBLOG_ERRNO_ENOTTY, "ENOTTY (Inappropriate ioctl for device)" }, + { BBLOG_ERRNO_ETXTBSY, "ETXTBSY (Text file busy)" }, + { BBLOG_ERRNO_EFBIG, "EFBIG (File too large)" }, + { BBLOG_ERRNO_ENOSPC, "ENOSPC (No space left on device)" }, + { BBLOG_ERRNO_ESPIPE, "ESPIPE (Illegal seek)" }, + { BBLOG_ERRNO_EROFS, "EROFS (Read-only filesystem)" }, + { BBLOG_ERRNO_EMLINK, "EMLINK (Too many links)" }, + { BBLOG_ERRNO_EPIPE, "EPIPE (Broken pipe)" }, + { BBLOG_ERRNO_EDOM, "EDOM (Numerical argument out of domain)" }, + { BBLOG_ERRNO_ERANGE, "ERANGE (Result too large)" }, + { BBLOG_ERRNO_EWOULDBLOCK, "EWOULDBLOCK (Operation would block)" }, + { BBLOG_ERRNO_EINPROGRESS, "EINPROGRESS (Operation now in progress)" }, + { BBLOG_ERRNO_EALREADY, "EALREADY (Operation already in progress)" }, + { BBLOG_ERRNO_ENOTSOCK, "ENOTSOCK (Socket operation on non-socket)" }, + { BBLOG_ERRNO_EDESTADDRREQ, "EDESTADDRREQ (Destination address required)" }, + { BBLOG_ERRNO_EMSGSIZE, "EMSGSIZE (Message too long)" }, + { BBLOG_ERRNO_EPROTOTYPE, "EPROTOTYPE (Protocol wrong type for sockets)" }, + { BBLOG_ERRNO_ENOPROTOOPT, "ENOPROTOOPT (Protocol not available)" }, + { BBLOG_ERRNO_EPROTONOSUPPORT, "EPROTONOSUPPORT (Protocol not supported)" }, + { BBLOG_ERRNO_ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT (Socket type not supported)" }, + { BBLOG_ERRNO_EOPNOTSUPP, "EOPNOTSUPP (Operation not supported)" }, + { BBLOG_ERRNO_EPFNOSUPPORT, "EPFNOSUPPORT (Protocol family not supported)" }, + { BBLOG_ERRNO_EAFNOSUPPORT, "EAFNOSUPPORT (Address family not supported by protocol family)" }, + { BBLOG_ERRNO_EADDRINUSE, "EADDRINUSE (Address already in use)" }, + { BBLOG_ERRNO_EADDRNOTAVAIL, "EADDRNOTAVAIL (Can't assign requested address)" }, + { BBLOG_ERRNO_ENETDOWN, "ENETDOWN (Network is down)" }, + { BBLOG_ERRNO_ENETUNREACH, "ENETUNREACH (Network is unreachable)" }, + { BBLOG_ERRNO_ENETRESET, "ENETRESET (Network dropped connection on reset)" }, + { BBLOG_ERRNO_ECONNABORTED, "ECONNABORTED (Software caused connection abort)" }, + { BBLOG_ERRNO_ECONNRESET, "ECONNRESET (Connection reset by peer)" }, + { BBLOG_ERRNO_ENOBUFS, "ENOBUFS (No buffer space available)" }, + { BBLOG_ERRNO_EISCONN, "EISCONN (Socket is already connected)" }, + { BBLOG_ERRNO_ENOTCONN, "ENOTCONN (Socket is not connected)" }, + { BBLOG_ERRNO_ESHUTDOWN, "ESHUTDOWN (Can't send after socket shutdown)" }, + { BBLOG_ERRNO_ETOOMANYREFS, "ETOOMANYREFS (Too many references: can't splice)" }, + { BBLOG_ERRNO_ETIMEDOUT, "ETIMEDOUT (Operation timed out)" }, + { BBLOG_ERRNO_ECONNREFUSED, "ECONNREFUSED (Connection refused)" }, + { BBLOG_ERRNO_ELOOP, "ELOOP (Too many levels of symbolic links)" }, + { BBLOG_ERRNO_ENAMETOOLONG, "ENAMETOOLONG (File name too long)" }, + { BBLOG_ERRNO_EHOSTDOWN, "EHOSTDOWN (Host is down)" }, + { BBLOG_ERRNO_EHOSTUNREACH, "EHOSTUNREACH (No route to host)" }, + { BBLOG_ERRNO_ENOTEMPTY, "ENOTEMPTY (Directory not empty)" }, + { BBLOG_ERRNO_EPROCLIM, "EPROCLIM (Too many processes)" }, + { BBLOG_ERRNO_EUSERS, "EUSERS (Too many users)" }, + { BBLOG_ERRNO_EDQUOT, "EDQUOT (Disc quota exceeded)" }, + { BBLOG_ERRNO_ESTALE, "ESTALE (Stale NFS file handle)" }, + { BBLOG_ERRNO_EREMOTE, "EREMOTE (Too many levels of remote in path)" }, + { BBLOG_ERRNO_EBADRPC, "EBADRPC (RPC struct is bad)" }, + { BBLOG_ERRNO_ERPCMISMATCH, "ERPCMISMATCH (RPC version wrong)" }, + { BBLOG_ERRNO_EPROGUNAVAIL, "EPROGUNAVAIL (RPC prog. not avail)" }, + { BBLOG_ERRNO_EPROGMISMATCH, "EPROGMISMATCH (Program version wrong)" }, + { BBLOG_ERRNO_EPROCUNAVAIL, "EPROCUNAVAIL (Bad procedure for program)" }, + { BBLOG_ERRNO_ENOLCK, "ENOLCK (No locks available)" }, + { BBLOG_ERRNO_ENOSYS, "ENOSYS (Function not implemented)" }, + { BBLOG_ERRNO_EFTYPE, "EFTYPE (Inappropriate file type or format)" }, + { BBLOG_ERRNO_EAUTH, "EAUTH (Authentication error)" }, + { BBLOG_ERRNO_ENEEDAUTH, "ENEEDAUTH (Need authenticator)" }, + { BBLOG_ERRNO_EIDRM, "EIDRM (Identifier removed)" }, + { BBLOG_ERRNO_ENOMSG, "ENOMSG (No message of desired type)" }, + { BBLOG_ERRNO_EOVERFLOW, "EOVERFLOW (Value too large to be stored in data type)" }, + { BBLOG_ERRNO_ECANCELED, "ECANCELED (Operation canceled)" }, + { BBLOG_ERRNO_EILSEQ, "EILSEQ (Illegal byte sequence)" }, + { BBLOG_ERRNO_ENOATTR, "ENOATTR (Attribute not found)" }, + { BBLOG_ERRNO_EDOOFUS, "EDOOFUS (Programming error)" }, + { BBLOG_ERRNO_EBADMSG, "EBADMSG (Bad message)" }, + { BBLOG_ERRNO_EMULTIHOP, "EMULTIHOP (Multihop attempted)" }, + { BBLOG_ERRNO_ENOLINK, "ENOLINK (Link has been severed)" }, + { BBLOG_ERRNO_EPROTO, "EPROTO (Protocol error)" }, + { BBLOG_ERRNO_ENOTCAPABLE, "ENOTCAPABLE (Capabilities insufficient)" }, + { BBLOG_ERRNO_ECAPMODE, "ECAPMODE (Not permitted in capability mode)" }, + { BBLOG_ERRNO_ENOTRECOVERABLE, "ENOTRECOVERABLE (State not recoverable)" }, + { BBLOG_ERRNO_EOWNERDEAD, "EOWNERDEAD (Previous owner died)" }, + { BBLOG_ERRNO_EINTEGRITY, "EINTEGRITY (Integrity check failed)" }, + { 0, NULL } }; + +#endif |