capability: move some previously private structures to public API
This commit is contained in:
parent
486cd34415
commit
ba83226733
2 changed files with 18 additions and 21 deletions
|
@ -21,8 +21,22 @@
|
||||||
#ifndef __CAPABILITY_H__
|
#ifndef __CAPABILITY_H__
|
||||||
#define __CAPABILITY_H__
|
#define __CAPABILITY_H__
|
||||||
|
|
||||||
struct CapabilityIndex;
|
struct CapabilityIndex {
|
||||||
struct CapabilityEntry;
|
const char *name;
|
||||||
|
struct Dictionary *cap_dict;
|
||||||
|
unsigned int highest_bit;
|
||||||
|
rb_dlink_node node;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define CAP_ORPHANED 0x1
|
||||||
|
#define CAP_REQUIRED 0x2
|
||||||
|
|
||||||
|
struct CapabilityEntry {
|
||||||
|
const char *cap;
|
||||||
|
unsigned int value;
|
||||||
|
unsigned int flags;
|
||||||
|
void *ownerdata;
|
||||||
|
};
|
||||||
|
|
||||||
extern unsigned int capability_get(struct CapabilityIndex *idx, const char *cap, void **ownerdata);
|
extern unsigned int capability_get(struct CapabilityIndex *idx, const char *cap, void **ownerdata);
|
||||||
extern unsigned int capability_put(struct CapabilityIndex *idx, const char *cap, void *ownerdata);
|
extern unsigned int capability_put(struct CapabilityIndex *idx, const char *cap, void *ownerdata);
|
||||||
|
|
|
@ -25,23 +25,6 @@
|
||||||
|
|
||||||
static rb_dlink_list capability_indexes = { NULL, NULL, 0 };
|
static rb_dlink_list capability_indexes = { NULL, NULL, 0 };
|
||||||
|
|
||||||
struct CapabilityIndex {
|
|
||||||
char *name;
|
|
||||||
struct Dictionary *cap_dict;
|
|
||||||
unsigned int highest_bit;
|
|
||||||
rb_dlink_node node;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CAP_ORPHANED 0x1
|
|
||||||
#define CAP_REQUIRED 0x2
|
|
||||||
|
|
||||||
struct CapabilityEntry {
|
|
||||||
char *cap;
|
|
||||||
unsigned int value;
|
|
||||||
unsigned int flags;
|
|
||||||
void *ownerdata;
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
capability_get(struct CapabilityIndex *idx, const char *cap, void **ownerdata)
|
capability_get(struct CapabilityIndex *idx, const char *cap, void **ownerdata)
|
||||||
{
|
{
|
||||||
|
@ -78,7 +61,7 @@ capability_put(struct CapabilityIndex *idx, const char *cap, void *ownerdata)
|
||||||
}
|
}
|
||||||
|
|
||||||
entry = rb_malloc(sizeof(struct CapabilityEntry));
|
entry = rb_malloc(sizeof(struct CapabilityEntry));
|
||||||
entry->cap = rb_strdup(cap);
|
entry->cap = cap;
|
||||||
entry->flags = 0;
|
entry->flags = 0;
|
||||||
entry->value = idx->highest_bit;
|
entry->value = idx->highest_bit;
|
||||||
entry->ownerdata = ownerdata;
|
entry->ownerdata = ownerdata;
|
||||||
|
@ -148,7 +131,7 @@ capability_index_create(const char *name)
|
||||||
struct CapabilityIndex *idx;
|
struct CapabilityIndex *idx;
|
||||||
|
|
||||||
idx = rb_malloc(sizeof(struct CapabilityIndex));
|
idx = rb_malloc(sizeof(struct CapabilityIndex));
|
||||||
idx->name = rb_strdup(name);
|
idx->name = name;
|
||||||
idx->cap_dict = irc_dictionary_create(name, strcasecmp);
|
idx->cap_dict = irc_dictionary_create(name, strcasecmp);
|
||||||
idx->highest_bit = 1;
|
idx->highest_bit = 1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue