1 /* 2 * Copyright (c) 2006 Chad Mynhier. 3 * 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. 7 * 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. 15 */ 16 17 #ifndef _PORT_SOLARIS_H 18 19 #include <sys/types.h> 20 21 #include <pwd.h> 22 23 void solaris_contract_pre_fork(void); 24 void solaris_contract_post_fork_child(void); 25 void solaris_contract_post_fork_parent(pid_t pid); 26 void solaris_set_default_project(struct passwd *); 27 # ifdef USE_SOLARIS_PRIVS 28 #include <priv.h> 29 priv_set_t *solaris_basic_privset(void); 30 void solaris_drop_privs_pinfo_net_fork_exec(void); 31 void solaris_drop_privs_root_pinfo_net(void); 32 void solaris_drop_privs_root_pinfo_net_exec(void); 33 # endif /* USE_SOLARIS_PRIVS */ 34 35 #endif 36