Current File : //usr/include/xpol.h
/*
 * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef	_XPOL_H
#define	_XPOL_H

#include <sys/xpol.h>
#include <priv.h>
#include <ucred.h>

#ifdef	__cplusplus
extern "C" {
#endif

/* Private interfaces */
void xpol_context_free(xpol_ctxt_t *);
int xpol_context_install(xpol_ctxt_t *, boolean_t);
void *xpol_encode(xpol_ctxt_t *, size_t *);
size_t xpol_encode_size(xpol_ctxt_t *);
xpol_rule_t *xpol_decode(void *, size_t);
void xpol_decode_free(xpol_rule_t *);

int xpol_parse_ruleset(const char *, xpol_ctxt_t **, priv_set_t **);
int xpol_prune_ruleset(xpol_ctxt_t **, priv_set_t **);
priv_set_t *xpol_restricted_privs(xpol_ctxt_t *);
priv_set_t *xpol_extended_privs(xpol_ctxt_t *);

#ifdef	__cplusplus
}
#endif

#endif	/* _XPOL_H */