Updated license file.
[doas.git] / doas.h
blob6d255bbb4cba13696ccddadea82a1802f05edf7f
1 /* $OpenBSD: doas.h,v 1.12 2016/10/05 17:40:25 tedu Exp $ */
2 /*
3 * Copyright (c) 2015 Ted Unangst <tedu@openbsd.org>
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 struct rule {
19 int action;
20 int options;
21 const char *ident;
22 const char *target;
23 const char *cmd;
24 const char **cmdargs;
25 const char **envlist;
28 extern struct rule **rules;
29 extern int nrules;
30 extern int parse_errors;
32 char **prepenv(struct rule *);
34 #define PERMIT 1
35 #define DENY 2
37 #define NOPASS 0x1
38 #define KEEPENV 0x2
39 #define PERSIST 0x4
41 #ifndef UID_MAX
42 #define UID_MAX 65535
43 #endif
45 #ifndef GID_MAX
46 #define GID_MAX 65535
47 #endif
49 #ifndef ROOT_UID
50 #define ROOT_UID 0
51 #endif
53 #ifndef _PW_NAME_LEN
54 #define _PW_NAME_LEN 32
55 #endif
57 void *reallocarray(void *ptr, size_t nmemb, size_t size);
59 #if !defined(HAVE_EXECVPE)
60 int execvpe(const char *file, char * const *argv, char * const *envp);
61 #endif /* !HAVE_EXECVPE */
63 #ifdef linux
64 void errc(int eval, int code, const char *format);
65 #endif