2 * Copyright (c) 2011 Todd C. Miller <Todd.Miller@courtesan.com>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 bool append(const char *, int);
21 bool fill_args(const char *, int, int);
22 bool fill_cmnd(const char *, int);
23 bool fill_txt(const char *, int, int);
24 bool ipv6_valid(const char *s);
25 int sudoers_trace_print(const char *msg);
26 void yyerror(const char *);
29 extern int (*trace_print)(const char *msg);
32 #define fill(a, b) fill_txt(a, b, 0)
34 /* realloc() to size + COMMANDARGINC to make room for command args */
35 #define COMMANDARGINC 64
37 #define LEXTRACE(msg) do { \
38 if (trace_print != NULL) \
39 (*trace_print)(msg); \
42 #endif /* _SUDO_TOKE_H */