1 #ifndef _SQUID_FMT_BYTECODE_H
2 #define _SQUID_FMT_BYTECODE_H
5 * Squid configuration allows users to define custom formats in
11 * These enumerations and classes define the API for parsing of
12 * format directives to define these patterns. Along with output
13 * functionality to produce formatted buffers.
20 * Bytecodes for the configureable format stuff
25 /* arbitrary string between tokens */
28 /* client TCP connection remote end details */
29 LFT_CLIENT_IP_ADDRESS
,
34 /* client TCP connection local end details */
36 LFT_CLIENT_LOCAL_PORT
,
37 /*LFT_CLIENT_LOCAL_FQDN, (rDNS) */
39 /* client connection local squid.conf details */
40 LFT_LOCAL_LISTENING_IP
,
41 LFT_LOCAL_LISTENING_PORT
,
42 /*LFT_LOCAL_LISTENING_NAME, (myportname) */
44 /* server TCP connection remote end details */
45 LFT_SERVER_IP_ADDRESS
,
46 LFT_SERVER_FQDN_OR_PEER_NAME
,
49 /* server TCP connection local end details */
51 LFT_SERVER_LOCAL_IP_OLD_27
,
52 LFT_SERVER_LOCAL_PORT
,
54 /* original Request-Line details recieved from client */
55 LFT_CLIENT_REQ_METHOD
,
57 LFT_CLIENT_REQ_URLPATH
,
58 /* LFT_CLIENT_REQ_QUERY, */
59 LFT_CLIENT_REQ_VERSION
,
61 /* Request-Line details recieved from client (legacy, filtered) */
64 LFT_REQUEST_URLPATH_OLD_31
,
65 /*LFT_REQUEST_QUERY, */
66 LFT_REQUEST_VERSION_OLD_2X
,
69 /* request header details pre-adaptation */
71 LFT_REQUEST_HEADER_ELEM
,
72 LFT_REQUEST_ALL_HEADERS
,
74 /* request header details post-adaptation */
75 LFT_ADAPTED_REQUEST_HEADER
,
76 LFT_ADAPTED_REQUEST_HEADER_ELEM
,
77 LFT_ADAPTED_REQUEST_ALL_HEADERS
,
79 /* Request-Line details sent to the server/peer */
80 LFT_SERVER_REQ_METHOD
,
82 LFT_SERVER_REQ_URLPATH
,
83 /*LFT_SERVER_REQ_QUERY, */
84 LFT_SERVER_REQ_VERSION
,
86 /* request meta details */
87 LFT_REQUEST_SIZE_TOTAL
,
88 /*LFT_REQUEST_SIZE_LINE, */
89 LFT_REQUEST_SIZE_HEADERS
,
90 /*LFT_REQUEST_SIZE_BODY, */
91 /*LFT_REQUEST_SIZE_BODY_NO_TE, */
93 /* original Status-Line details recieved from server */
96 /* Status-Line details sent to the client */
99 /* response Status-Line details (legacy, filtered) */
100 LFT_HTTP_SENT_STATUS_CODE_OLD_30
,
101 LFT_HTTP_SENT_STATUS_CODE
,
102 LFT_HTTP_RECEIVED_STATUS_CODE
,
103 /*LFT_HTTP_STATUS, */
104 LFT_HTTP_BODY_BYTES_READ
,
106 /* response header details pre-adaptation */
108 LFT_REPLY_HEADER_ELEM
,
109 LFT_REPLY_ALL_HEADERS
,
111 /* response header details post-adaptation */
112 /* LFT_ADAPTED_REPLY_HEADER, */
113 /* LFT_ADAPTED_REPLY_HEADER_ELEM, */
114 /* LFT_ADAPTED_REPLY_ALL_HEADERS, */
116 /* response meta details */
117 LFT_REPLY_SIZE_TOTAL
,
118 LFT_REPLY_HIGHOFFSET
,
119 LFT_REPLY_OBJECTSIZE
,
120 /*LFT_REPLY_SIZE_LINE, */
121 LFT_REPLY_SIZE_HEADERS
,
122 /*LFT_REPLY_SIZE_BODY, */
123 /*LFT_REPLY_SIZE_BODY_NO_TE, */
125 /* client credentials */
126 LFT_USER_NAME
, /* any source will do */
130 /*LFT_USER_SCHEME, */
132 /* LFT_USER_SSL_CERT, */
134 /* global time details */
135 LFT_TIME_SECONDS_SINCE_EPOCH
,
140 /* processing time details */
141 LFT_TIME_TO_HANDLE_REQUEST
,
142 LFT_PEER_RESPONSE_TIME
,
143 LFT_TOTAL_SERVER_SIDE_RESPONSE_TIME
,
146 /* Squid internal processing details */
149 LFT_SQUID_ERROR_DETAIL
,
160 LFT_ADAPTATION_SUM_XACT_TIMES
,
161 LFT_ADAPTATION_ALL_XACT_TIMES
,
162 LFT_ADAPTATION_LAST_HEADER
,
163 LFT_ADAPTATION_LAST_HEADER_ELEM
,
164 LFT_ADAPTATION_LAST_ALL_HEADERS
,
173 LFT_ICAP_REQUEST_URI
,
174 LFT_ICAP_REQUEST_METHOD
,
177 LFT_ICAP_BODY_BYTES_READ
,
180 LFT_ICAP_REQ_HEADER_ELEM
,
181 LFT_ICAP_REQ_ALL_HEADERS
,
184 LFT_ICAP_REP_HEADER_ELEM
,
185 LFT_ICAP_REP_ALL_HEADERS
,
187 LFT_ICAP_TR_RESPONSE_TIME
,
190 LFT_ICAP_STATUS_CODE
,
194 LFT_SSL_USER_CERT_SUBJECT
,
195 LFT_SSL_USER_CERT_ISSUER
,
198 LFT_PERCENT
/* special string cases for escaped chars */
201 /// Quoting style for a format output.
210 extern const char *log_tags
[];
212 } // namespace Format
214 #endif /* _SQUID_FMT_BYTECODE_H */