138451Smsmith/*
238451Smsmith * Copyright (c) 2006 Darren Tucker.  All rights reserved.
338451Smsmith *
438451Smsmith * Permission to use, copy, modify, and distribute this software for any
538451Smsmith * purpose with or without fee is hereby granted, provided that the above
638451Smsmith * copyright notice and this permission notice appear in all copies.
738451Smsmith *
838451Smsmith * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
938451Smsmith * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1038451Smsmith * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1138451Smsmith * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1238451Smsmith * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1338451Smsmith * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1438451Smsmith * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1538451Smsmith */
1638451Smsmith
1738451Smsmith#include <sys/types.h>
1838451Smsmith
1938451Smsmith#include <pwd.h>
2038451Smsmith
2138451Smsmithvoid platform_pre_listen(void);
2238451Smsmithvoid platform_pre_fork(void);
2338451Smsmithvoid platform_pre_restart(void);
2438451Smsmithvoid platform_post_fork_parent(pid_t child_pid);
2538451Smsmithvoid platform_post_fork_child(void);
2638451Smsmithint  platform_privileged_uidswap(void);
2738451Smsmithvoid platform_setusercontext(struct passwd *);
2838451Smsmithvoid platform_setusercontext_post_groups(struct passwd *);
2938451Smsmithchar *platform_get_krb5_client(const char *);
3038451Smsmithchar *platform_krb5_get_principal_name(const char *);
3138451Smsmithint platform_sys_dir_uid(uid_t);
3238451Smsmithvoid platform_disable_tracing(int);
3338451Smsmith
3484221Sdillon/* in platform-pledge.c */
3584221Sdillonvoid platform_pledge_agent(void);
3684221Sdillonvoid platform_pledge_sftp_server(void);
3738451Smsmithvoid platform_pledge_mux(void);
3838451Smsmith