Critics have remarked that those four worthies were truly peerless throughout the ages; yet the present falls short of the pastβthe ancients favored unadorned simplicity, whereas the moderns prefer refined elegance. Styles of substance and ornament rise and fall in succession, shifting with the changing mores of the times; such evolution is simply the natural order of things. The ideal lies in honoring antiquity without clashing with the present, and embracing modernity without succumbing to its flawsβembodying that perfect balance of substance and refinement that defines the true gentleman. There is surely no need to abandon a carved palace in favor of a cave dwelling, or to trade a jade carriage for a primitive cart with solid wooden wheels.
Current path: usr/include/sepol/
β Cloned to:
β¬οΈ Go up: /usr/include
#ifndef _SEPOL_NODES_H_
#define _SEPOL_NODES_H_
#include <sepol/handle.h>
#include <sepol/policydb.h>
#include <sepol/node_record.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Return the number of nodes */
extern int sepol_node_count(sepol_handle_t * handle,
const sepol_policydb_t * p, unsigned int *response);
/* Check if a node exists */
extern int sepol_node_exists(sepol_handle_t * handle,
const sepol_policydb_t * policydb,
const sepol_node_key_t * key, int *response);
/* Query a node - returns the node, or NULL if not found */
extern int sepol_node_query(sepol_handle_t * handle,
const sepol_policydb_t * policydb,
const sepol_node_key_t * key,
sepol_node_t ** response);
/* Modify a node, or add it, if the key is not found */
extern int sepol_node_modify(sepol_handle_t * handle,
sepol_policydb_t * policydb,
const sepol_node_key_t * key,
const sepol_node_t * data);
/* Iterate the nodes
* The handler may return:
* -1 to signal an error condition,
* 1 to signal successful exit
* 0 to signal continue */
extern int sepol_node_iterate(sepol_handle_t * handle,
const sepol_policydb_t * policydb,
int (*fn) (const sepol_node_t * node,
void *fn_arg), void *arg);
#ifdef __cplusplus
}
#endif
#endif