/usr/include/atheme/object.h is in atheme-services 7.2.9-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | /*
* Copyright (c) 2007 William Pitcock <nenolod -at- atheme.org>
* Rights to this code are as documented in doc/LICENSE.
*
* Object management.
*
*/
#ifndef ATHEME_OBJECT_H
#define ATHEME_OBJECT_H
struct metadata_ {
stringref name;
char *value;
};
typedef struct metadata_ metadata_t;
typedef void (*destructor_t)(void *);
typedef struct {
int refcount;
destructor_t destructor;
mowgli_patricia_t *metadata;
mowgli_patricia_t *privatedata;
#ifdef OBJECT_DEBUG
mowgli_node_t dnode;
#endif
} object_t;
E void init_metadata(void);
E void object_init(object_t *, const char *name, destructor_t destructor);
E void *object_ref(void *);
E void *object_sink_ref(void *);
E void object_unref(void *);
E void object_dispose(void *);
E metadata_t *metadata_add(void *target, const char *name, const char *value);
E void metadata_delete(void *target, const char *name);
E metadata_t *metadata_find(void *target, const char *name);
E void metadata_delete_all(void *target);
E void *privatedata_get(void *target, const char *key);
E void privatedata_set(void *target, const char *key, void *data);
#ifdef OBJECT_DEBUG
E mowgli_list_t object_list;
#endif
#define object(x) ((object_t *) x)
#endif
/* vim:cinoptions=>s,e0,n0,f0,{0,}0,^0,=s,ps,t0,c3,+s,(2s,us,)20,*30,gs,hs
* vim:ts=8
* vim:sw=8
* vim:noexpandtab
*/
|