Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/sys/pool.h
Real path: /usr/include/sys/pool.h
Zurück
/* * Copyright (c) 2004, 2021, Oracle and/or its affiliates. */ #ifndef _SYS_POOL_H #define _SYS_POOL_H #include <sys/types.h> #include <sys/time.h> #include <sys/nvpair.h> #include <sys/procset.h> #ifdef __cplusplus extern "C" { #endif #define POOL_DEFAULT 0 /* default pool's ID */ #define POOL_MAXID 999999 /* maximum possible pool ID */ #define POOL_INVALID -1 /* pools states */ #define POOL_DISABLED 0 /* pools disabled */ #define POOL_ENABLED 1 /* pools enabled */ /* * Pool name namespace tokens */ #define POOL_PSRSET_PREFIX "SYSpsrset_" #define POOL_ZONE_PREFIX "SYSzone_" #define POOL_POOL_DEFAULT_NAME "pool_default" #define POOL_PSET_DEFAULT_NAME "pset_default" #define POOL_NAME_MAX (1024 + 1) #ifdef _KERNEL #include <sys/list.h> struct pool_pset; typedef struct pool { poolid_t pool_id; /* pool ID */ uint32_t pool_ref; /* # of threads in this pool */ list_node_t pool_link; /* links to next/prev pools */ nvlist_t *pool_props; /* pool properties */ struct pool_pset *pool_pset; /* pool's pset */ } pool_t; extern hrtime_t pool_pool_mod; /* last modification time for pools */ /* * Flags for pool_do_bind */ #define POOL_BIND_PSET 0x00000001 #define POOL_BIND_PSRSET 0x00000002 #define POOL_QUERY_PSET 0x00000004 #define POOL_BIND_ZONE_ENTER 0x00000008 #define POOL_BIND_DESTROY 0x00000010 #define POOL_BIND_FORCE 0x00000020 #define POOL_BIND_PSRSET_INTERNAL 0x00000040 /* * Result code for pool_get_class() */ #define POOL_SCHED_CLASS_UNSET (-1) /* no scheduling class set */ extern int pool_count; /* number of pools (all pools) */ extern int pool_pset_count; /* number of psets (all psets) */ extern int pool_psrset_count; /* number of psrset pools */ extern int pool_psrset_pset_count; /* number of psrset psets */ extern pool_t *pool_default; /* default pool pointer */ extern void *pool_buf; /* last state snapshot */ extern size_t pool_bufsz; /* size of pool_buf */ /* * Lookup routines */ extern pool_t *pool_lookup_pool_by_id(poolid_t); extern pool_t *pool_lookup_pool_by_name(char *); extern pool_t *pool_lookup_pool_by_pset(int); extern int pool_pool_walk(int (*)(pool_t *, void *), void *); extern boolean_t pool_pool_psrset(pool_t *); extern boolean_t pool_pool_visible(pool_t *); extern int pool_poolid_psrset(poolid_t); extern int pool_pool_create(poolid_t *); /* * Configuration routines */ extern void pool_init(void); extern int pool_status(int); extern int pool_create(int, int, id_t *); extern int pool_destroy(int, int, id_t); extern int pool_pool_destroy(id_t, boolean_t); extern int pool_transfer(int, id_t, id_t, uint64_t); extern int pool_assoc(poolid_t, int, id_t); extern int pool_dissoc(poolid_t, int); extern int pool_bind(poolid_t, idtype_t, id_t); extern id_t pool_get_class(pool_t *); extern int pool_do_bind(pool_t *, idtype_t, id_t, int, void *); extern int pool_query_binding(idtype_t, id_t, id_t *); extern int pool_xtransfer(int, id_t, id_t, uint_t, id_t *); extern int pool_pack_conf(void *, size_t, size_t *); extern int pool_propput(int, int, id_t, nvpair_t *); extern int pool_proprm(int, int, id_t, char *); extern int pool_propget(char *, int, int, id_t, nvlist_t **); extern int pool_props_reset(void); extern int pool_commit(int); extern void pool_get_name(pool_t *, char **); /* * Synchronization routines */ extern void pool_lock(void); extern int pool_lock_intr(void); extern int pool_lock_held(void); extern void pool_unlock(void); extern void pool_barrier_enter(void); extern void pool_barrier_exit(void); typedef enum { POOL_E_ENABLE, POOL_E_DISABLE, POOL_E_CHANGE, POOL_E_COMMIT } pool_event_t; typedef void pool_event_cb_func_t(pool_event_t, poolid_t, void *); typedef struct pool_event_cb { pool_event_cb_func_t *pec_func; void *pec_arg; list_node_t pec_list; } pool_event_cb_t; /* * Routines used to register interest in changes in cpu pools. */ extern void pool_event_cb_register(pool_event_cb_t *); extern void pool_event_cb_unregister(pool_event_cb_t *); #endif /* _KERNEL */ #ifdef __cplusplus } #endif #endif /* _SYS_POOL_H */