Home | History | Annotate | Line # | Download | only in ppath
ppath.h revision 1.1.44.2
      1  1.1.44.1  martin /* $Id: ppath.h,v 1.1.44.2 2020/04/21 19:37:40 martin Exp $ */
      2       1.1  dyoung 
      3       1.1  dyoung /* Copyright (c) 2010 David Young.  All rights reserved. */
      4       1.1  dyoung 
      5       1.1  dyoung #ifndef _PPATH_H
      6       1.1  dyoung #define _PPATH_H
      7       1.1  dyoung 
      8       1.1  dyoung #include <prop/proplib.h>
      9       1.1  dyoung 
     10       1.1  dyoung #define	PPATH_MAX_COMPONENTS	16
     11       1.1  dyoung 
     12       1.1  dyoung struct _ppath;
     13       1.1  dyoung struct _ppath_component;
     14       1.1  dyoung typedef struct _ppath ppath_t;
     15       1.1  dyoung typedef struct _ppath_component ppath_component_t;
     16       1.1  dyoung 
     17       1.1  dyoung ppath_component_t *ppath_idx(unsigned int);
     18       1.1  dyoung ppath_component_t *ppath_key(const char *);
     19       1.1  dyoung 
     20       1.1  dyoung ppath_component_t *ppath_component_retain(ppath_component_t *);
     21       1.1  dyoung void ppath_component_release(ppath_component_t *);
     22       1.1  dyoung 
     23       1.1  dyoung ppath_t *ppath_create(void);
     24       1.1  dyoung unsigned int ppath_length(const ppath_t *);
     25       1.1  dyoung int ppath_component_idx(const ppath_component_t *);
     26       1.1  dyoung const char *ppath_component_key(const ppath_component_t *);
     27       1.1  dyoung ppath_t *ppath_pop(ppath_t *, ppath_component_t **);
     28       1.1  dyoung ppath_t *ppath_push(ppath_t *, ppath_component_t *);
     29       1.1  dyoung ppath_component_t *ppath_component_at(const ppath_t *, unsigned int);
     30       1.1  dyoung ppath_t *ppath_subpath(const ppath_t *, unsigned int, unsigned int);
     31       1.1  dyoung ppath_t *ppath_push_idx(ppath_t *, unsigned int);
     32       1.1  dyoung ppath_t *ppath_push_key(ppath_t *, const char *);
     33       1.1  dyoung ppath_t *ppath_replace_idx(ppath_t *, unsigned int);
     34       1.1  dyoung ppath_t *ppath_replace_key(ppath_t *, const char *);
     35       1.1  dyoung 
     36       1.1  dyoung ppath_t *ppath_copy(const ppath_t *);
     37       1.1  dyoung ppath_t *ppath_retain(ppath_t *);
     38       1.1  dyoung void ppath_release(ppath_t *);
     39       1.1  dyoung 
     40       1.1  dyoung prop_object_t ppath_lookup(prop_object_t, const ppath_t *);
     41       1.1  dyoung 
     42       1.1  dyoung int ppath_copydel_object(prop_object_t, prop_object_t *, const ppath_t *);
     43       1.1  dyoung int ppath_copyset_object(prop_object_t, prop_object_t *, const ppath_t *,
     44       1.1  dyoung     prop_object_t);
     45       1.1  dyoung int ppath_create_object(prop_object_t, const ppath_t *, prop_object_t);
     46       1.1  dyoung int ppath_set_object(prop_object_t, const ppath_t *, prop_object_t);
     47       1.1  dyoung int ppath_get_object(prop_object_t, const ppath_t *, prop_object_t *);
     48       1.1  dyoung int ppath_delete_object(prop_object_t, const ppath_t *);
     49       1.1  dyoung 
     50       1.1  dyoung int ppath_copydel_bool(prop_object_t, prop_object_t *, const ppath_t *);
     51       1.1  dyoung int ppath_copyset_bool(prop_object_t, prop_object_t *, const ppath_t *, bool);
     52       1.1  dyoung int ppath_create_bool(prop_object_t, const ppath_t *, bool);
     53       1.1  dyoung int ppath_create_int64(prop_object_t, const ppath_t *, int64_t);
     54       1.1  dyoung int ppath_create_uint64(prop_object_t, const ppath_t *, uint64_t);
     55       1.1  dyoung int ppath_create_data(prop_object_t, const ppath_t *, const void *, size_t);
     56       1.1  dyoung int ppath_create_string(prop_object_t, const ppath_t *, const char *);
     57       1.1  dyoung int ppath_set_bool(prop_object_t, const ppath_t *, bool);
     58       1.1  dyoung int ppath_get_bool(prop_object_t, const ppath_t *, bool *);
     59       1.1  dyoung int ppath_delete_bool(prop_object_t, const ppath_t *);
     60       1.1  dyoung 
     61       1.1  dyoung int ppath_copydel_data(prop_object_t, prop_object_t *, const ppath_t *);
     62       1.1  dyoung int ppath_copyset_data(prop_object_t, prop_object_t *, const ppath_t *,
     63       1.1  dyoung     const void *, size_t);
     64       1.1  dyoung int ppath_set_data(prop_object_t, const ppath_t *, const void *, size_t);
     65       1.1  dyoung int ppath_get_data(prop_object_t, const ppath_t *, const void **, size_t *);
     66       1.1  dyoung int ppath_dup_data(prop_object_t, const ppath_t *, void **, size_t *);
     67       1.1  dyoung int ppath_delete_data(prop_object_t, const ppath_t *);
     68       1.1  dyoung 
     69       1.1  dyoung int ppath_copydel_int64(prop_object_t, prop_object_t *, const ppath_t *);
     70       1.1  dyoung int ppath_copyset_int64(prop_object_t, prop_object_t *, const ppath_t *,
     71       1.1  dyoung     int64_t);
     72       1.1  dyoung int ppath_set_int64(prop_object_t, const ppath_t *, int64_t);
     73       1.1  dyoung int ppath_get_int64(prop_object_t, const ppath_t *, int64_t *);
     74       1.1  dyoung int ppath_delete_int64(prop_object_t, const ppath_t *);
     75       1.1  dyoung 
     76       1.1  dyoung int ppath_copydel_string(prop_object_t, prop_object_t *, const ppath_t *);
     77       1.1  dyoung int ppath_copyset_string(prop_object_t, prop_object_t *, const ppath_t *,
     78       1.1  dyoung     const char *);
     79       1.1  dyoung int ppath_set_string(prop_object_t, const ppath_t *, const char *);
     80       1.1  dyoung int ppath_get_string(prop_object_t, const ppath_t *, const char **);
     81       1.1  dyoung int ppath_dup_string(prop_object_t, const ppath_t *, char **);
     82       1.1  dyoung int ppath_delete_string(prop_object_t, const ppath_t *);
     83       1.1  dyoung 
     84       1.1  dyoung int ppath_copydel_uint64(prop_object_t, prop_object_t *, const ppath_t *);
     85       1.1  dyoung int ppath_copyset_uint64(prop_object_t, prop_object_t *, const ppath_t *,
     86       1.1  dyoung     uint64_t);
     87       1.1  dyoung int ppath_set_uint64(prop_object_t, const ppath_t *, uint64_t);
     88       1.1  dyoung int ppath_get_uint64(prop_object_t, const ppath_t *, uint64_t *);
     89       1.1  dyoung int ppath_delete_uint64(prop_object_t, const ppath_t *);
     90       1.1  dyoung 
     91       1.1  dyoung #endif /* _PPATH_H */
     92