1 /* $OpenBSD: parser.h,v 1.26 2013/02/14 12:30:49 gilles Exp $ */ 2 3 /* 4 * Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 enum actions { 20 NONE, 21 SHUTDOWN, 22 MONITOR, 23 LOG_VERBOSE, 24 LOG_BRIEF, 25 SCHEDULE, 26 SHOW_QUEUE, 27 SHOW_STATS, 28 SHOW_SIZES, 29 SHOW_ENVELOPE, 30 SHOW_MESSAGE, 31 PAUSE_MDA, 32 PAUSE_MTA, 33 PAUSE_SMTP, 34 REMOVE, 35 RESUME_MDA, 36 RESUME_MTA, 37 RESUME_SMTP, 38 UPDATE_TABLE, 39 LOG_TRACE_IMSG, 40 LOG_TRACE_IO, 41 LOG_TRACE_SMTP, 42 LOG_TRACE_MFA, 43 LOG_TRACE_MTA, 44 LOG_TRACE_BOUNCE, 45 LOG_TRACE_SCHEDULER, 46 LOG_TRACE_LOOKUP, 47 LOG_TRACE_STAT, 48 LOG_TRACE_RULES, 49 LOG_TRACE_IMSG_SIZE, 50 LOG_TRACE_EXPAND, 51 LOG_TRACE_ALL, 52 LOG_UNTRACE_IMSG, 53 LOG_UNTRACE_IO, 54 LOG_UNTRACE_SMTP, 55 LOG_UNTRACE_MFA, 56 LOG_UNTRACE_MTA, 57 LOG_UNTRACE_BOUNCE, 58 LOG_UNTRACE_SCHEDULER, 59 LOG_UNTRACE_LOOKUP, 60 LOG_UNTRACE_STAT, 61 LOG_UNTRACE_RULES, 62 LOG_UNTRACE_IMSG_SIZE, 63 LOG_UNTRACE_EXPAND, 64 LOG_UNTRACE_ALL, 65 LOG_PROFILE_IMSG, 66 LOG_PROFILE_QUEUE, 67 LOG_UNPROFILE_IMSG, 68 LOG_UNPROFILE_QUEUE, 69 }; 70 71 struct ctl_id { 72 objid_t id; 73 char name[MAX_NAME_SIZE]; 74 }; 75 76 struct parse_result { 77 struct ctl_id id; 78 enum actions action; 79 const char *data; 80 }; 81 82 struct parse_result *parse(int, char *[]); 83