Blame include/semanage/fcontext_record.h

Packit Service 102278
/* Copyright (C) 2005 Red Hat, Inc. */
Packit Service 102278
Packit Service 102278
#ifndef _SEMANAGE_FCONTEXT_RECORD_H_
Packit Service 102278
#define _SEMANAGE_FCONTEXT_RECORD_H_
Packit Service 102278
Packit Service 102278
#include <semanage/context_record.h>
Packit Service 102278
#include <semanage/handle.h>
Packit Service 102278
Packit Service 102278
#ifndef _SEMANAGE_FCONTEXT_DEFINED_
Packit Service 102278
struct semanage_fcontext;
Packit Service 102278
struct semanage_fcontext_key;
Packit Service 102278
typedef struct semanage_fcontext semanage_fcontext_t;
Packit Service 102278
typedef struct semanage_fcontext_key semanage_fcontext_key_t;
Packit Service 102278
#define _SEMANAGE_FCONTEXT_DEFINED_
Packit Service 102278
#endif
Packit Service 102278
Packit Service 102278
/* Key */
Packit Service 102278
extern int semanage_fcontext_compare(const semanage_fcontext_t * fcontext,
Packit Service 102278
				     const semanage_fcontext_key_t * key);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_compare2(const semanage_fcontext_t * fcontext,
Packit Service 102278
				      const semanage_fcontext_t * fcontext2);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_key_create(semanage_handle_t * handle,
Packit Service 102278
					const char *expr,
Packit Service 102278
					int type,
Packit Service 102278
					semanage_fcontext_key_t ** key_ptr);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_key_extract(semanage_handle_t * handle,
Packit Service 102278
					 const semanage_fcontext_t * fcontext,
Packit Service 102278
					 semanage_fcontext_key_t ** key_ptr);
Packit Service 102278
Packit Service 102278
extern void semanage_fcontext_key_free(semanage_fcontext_key_t * key);
Packit Service 102278
Packit Service 102278
/* Regexp */
Packit Service 102278
extern const char *semanage_fcontext_get_expr(const semanage_fcontext_t *
Packit Service 102278
					      fcontext);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_set_expr(semanage_handle_t * handle,
Packit Service 102278
				      semanage_fcontext_t * fcontext,
Packit Service 102278
				      const char *expr);
Packit Service 102278
Packit Service 102278
/* Type */
Packit Service 102278
#define SEMANAGE_FCONTEXT_ALL   0
Packit Service 102278
#define SEMANAGE_FCONTEXT_REG   1
Packit Service 102278
#define SEMANAGE_FCONTEXT_DIR   2
Packit Service 102278
#define SEMANAGE_FCONTEXT_CHAR  3
Packit Service 102278
#define SEMANAGE_FCONTEXT_BLOCK 4
Packit Service 102278
#define SEMANAGE_FCONTEXT_SOCK  5
Packit Service 102278
#define SEMANAGE_FCONTEXT_LINK  6
Packit Service 102278
#define SEMANAGE_FCONTEXT_PIPE  7
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_get_type(const semanage_fcontext_t * fcontext);
Packit Service 102278
Packit Service 102278
extern const char *semanage_fcontext_get_type_str(int type);
Packit Service 102278
Packit Service 102278
extern void semanage_fcontext_set_type(semanage_fcontext_t * fcontext,
Packit Service 102278
				       int type);
Packit Service 102278
Packit Service 102278
/* Context */
Packit Service 102278
extern semanage_context_t *semanage_fcontext_get_con(const semanage_fcontext_t *
Packit Service 102278
						     fcontext);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_set_con(semanage_handle_t * handle,
Packit Service 102278
				     semanage_fcontext_t * fcontext,
Packit Service 102278
				     semanage_context_t * con);
Packit Service 102278
Packit Service 102278
/* Create/Clone/Destroy */
Packit Service 102278
extern int semanage_fcontext_create(semanage_handle_t * handle,
Packit Service 102278
				    semanage_fcontext_t ** fcontext_ptr);
Packit Service 102278
Packit Service 102278
extern int semanage_fcontext_clone(semanage_handle_t * handle,
Packit Service 102278
				   const semanage_fcontext_t * fcontext,
Packit Service 102278
				   semanage_fcontext_t ** fcontext_ptr);
Packit Service 102278
Packit Service 102278
extern void semanage_fcontext_free(semanage_fcontext_t * fcontext);
Packit Service 102278
Packit Service 102278
#endif