| 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 —
#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);
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)specificdata functionality is implemented in
  sys/kern/subr_specificdata.c.
The header file
    <sys/sys/specificdata.h>
    describes the public interface.
specificdata subsystem first appeared in
  NetBSD 4.0.
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 10.0 |