ByteCode.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef _SQUID_FMT_BYTECODE_H
10 #define _SQUID_FMT_BYTECODE_H
11 
12 /*
13  * Squid configuration allows users to define custom formats in
14  * several components.
15  * - logging
16  * - external ACL input
17  * - deny page URL
18  *
19  * These enumerations and classes define the API for parsing of
20  * format directives to define these patterns. Along with output
21  * functionality to produce formatted buffers.
22  */
23 
24 namespace Format
25 {
26 
27 /*
28  * Bytecodes for the configureable format stuff
29  */
30 typedef enum {
31  LFT_NONE, /* dummy */
32 
33  /* arbitrary string between tokens */
35 
36  /* client TCP connection remote end details */
41 
42  /* client TCP connection local end details */
45  /*LFT_CLIENT_LOCAL_FQDN, (rDNS) */
48 
49  /* client connection local squid.conf details */
52  /*LFT_LOCAL_LISTENING_NAME, (myportname) */
53 
54  /* server TCP connection remote end details */
58 
59  /* server TCP connection local end details */
65 
66  /* original Request-Line details recieved from client */
73  /* LFT_CLIENT_REQ_QUERY, */
75 
76  /* Request-Line details recieved from client (legacy, filtered) */
80  /*LFT_REQUEST_QUERY, */
84 
85  /* request header details pre-adaptation */
89 
90  /* request header details post-adaptation */
94 
95  /* Request-Line details sent to the server/peer */
102  /*LFT_SERVER_REQ_QUERY, */
104 
105  /* request meta details */
108  /*LFT_REQUEST_SIZE_BODY, */
109  /*LFT_REQUEST_SIZE_BODY_NO_TE, */
110 
111  /* original Status-Line details recieved from server */
112  // XXX: todo
113 
114  /* Status-Line details sent to the client */
115  // XXX: todo
116 
117  /* response Status-Line details (legacy, filtered) */
121  /*LFT_HTTP_STATUS, */
123 
124  /* response header details pre-adaptation */
128 
129  /* response header details post-adaptation */
130  /* LFT_ADAPTED_REPLY_HEADER, */
131  /* LFT_ADAPTED_REPLY_HEADER_ELEM, */
132  /* LFT_ADAPTED_REPLY_ALL_HEADERS, */
133 
134  /* response meta details */
139  /*LFT_REPLY_SIZE_BODY, */
140  /*LFT_REPLY_SIZE_BODY_NO_TE, */
141 
143 
144  /* client credentials */
145  LFT_USER_NAME, /* any source will do */
148  /*LFT_USER_REALM, */
149  /*LFT_USER_SCHEME, */
151  /* LFT_USER_SSL_CERT, */
152 
153  /* global time details */
158  LFT_TIME_START, // the time the master transaction started
159 
160  /* processing time details */
165 
166  /* Squid internal processing details */
171 
175 
177 
178 #if USE_ADAPTATION
184 #endif
185 
186 #if ICAP_CLIENT
187 
189 
197 
201 
205 
210 #endif
212 
213 #if USE_OPENSSL
229 #endif
230 
232  LFT_PERCENT, /* special string cases for escaped chars */
233 
234  // TODO assign better bytecode names and Token strings for these
235 #if USE_OPENSSL
240 #endif
245 
246 } ByteCode_t;
247 
249 enum Quoting {
256 };
257 
258 } // namespace Format
259 
260 #endif /* _SQUID_FMT_BYTECODE_H */
261 
Quoting
Quoting style for a format output.
Definition: ByteCode.h:249
ByteCode_t
Definition: ByteCode.h:30

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors