| SPECIFICDATA(9) | Kernel Developer's Manual | SPECIFICDATA(9) |
specificdata,
specificdata_domain_create,
specificdata_domain_delete,
specificdata_key_create,
specificdata_key_delete,
specificdata_init,
specificdata_fini,
specificdata_getspecific,
specificdata_getspecific_unlocked,
specificdata_setspecific,
specificdata_setspecific_nowait —
manipulate arbitrary data attached to objects
#include
<sys/specificdata.h>
specificdata_domain_t
specificdata_domain_create();
void
specificdata_domain_delete(specificdata_domain_t
sd);
int
specificdata_key_create(specificdata_domain_t
sd, specificdata_key_t
*keyp,
specificdata_dtor_t
dtor);
void
specificdata_key_delete(specificdata_domain_t
sd, specificdata_key_t
key);
int
specificdata_init(specificdata_domain_t
sd,
specificdata_reference
*ref);
void
specificdata_fini(specificdata_domain_t
sd,
specificdata_reference
*ref);
void *
specificdata_getspecific(specificdata_domain_t
sd,
specificdata_reference
*ref, specificdata_key_t
key);
void *
specificdata_getspecific_unlocked(specificdata_domain_t
sd,
specificdata_reference
*ref, specificdata_key_t
key);
void
specificdata_setspecific(specificdata_domain_t
sd,
specificdata_reference
*ref, specificdata_key_t
key, void
*data);
int
specificdata_setspecific_nowait(specificdata_domain_t
sd,
specificdata_reference
*ref, specificdata_key_t
key, void
*data);
The specificdata facility provides a
mechanism for storing arbitrary data, identified by an index key, within
containers which exist within the objects associated with a particular
domain.
specificdata_domain_create()specificdata_domain_delete(sd)specificdata_key_create(sd,
keyp, dtor)NULL,
it specifies a destructor which will be called when a datum associated
with the specified key is deleted from a container within the
sd. The unique identifier of the created key is
returned in keyp.specificdata_key_delete(sd,
key)specificdata_init(sd,
ref)specificdata_fini(sd,
ref)specificdata_getspecific(sd,
ref, key)specificdata_getspecific_unlocked(sd,
ref, key)setspecific()
call or by destroying the container.specificdata_setspecific(sd,
ref, key,
data)specificdata_setspecific_nowait(sd,
ref, key,
data)The specificdata functionality is
implemented in sys/kern/subr_specificdata.c.
The header file
<sys/sys/specificdata.h>
describes the public interface.
The specificdata subsystem first appeared
in NetBSD 4.0.
The specificdata subsystem was written by
Jason Thorpe
<thorpej@NetBSD.org>.
This manual page was written by Paul Goyette
<pgoyette@NetBSD.org>.
| June 16, 2018 | NetBSD 11.0 |