sss_simpleifp
1.13.0
|
Libsss_simpleifp provides a synchronous interface to simplify basic communication with SSSD InfoPipe responder. More...
Data Structures | |
struct | sss_sifp_object |
D-Bus object. More... | |
Macros | |
#define | SSS_SIFP_IFP "org.freedesktop.sssd.infopipe" |
SSSD InfoPipe bus address. | |
#define | SSS_SIFP_IFACE_IFP SSS_SIFP_IFP |
SSSD InfoPipe interface. | |
Typedefs | |
typedef struct sss_sifp_ctx | sss_sifp_ctx |
Opaque libsss_sifp context. More... | |
typedef void( | sss_sifp_free_func )(void *ptr, void *pvt) |
Typedef for memory allocation functions. | |
typedef enum sss_sifp_error | sss_sifp_error |
Error codes used by libsss_sifp. | |
typedef struct sss_sifp_attr | sss_sifp_attr |
D-Bus object attribute. | |
typedef struct sss_sifp_object | sss_sifp_object |
D-Bus object. | |
Enumerations | |
enum | sss_sifp_error { SSS_SIFP_OK = 0, SSS_SIFP_OUT_OF_MEMORY, SSS_SIFP_INVALID_ARGUMENT, SSS_SIFP_IO_ERROR, SSS_SIFP_INTERNAL_ERROR, SSS_SIFP_NOT_SUPPORTED, SSS_SIFP_ATTR_MISSING, SSS_SIFP_ATTR_NULL, SSS_SIFP_INCORRECT_TYPE, SSS_SIFP_ERROR_SENTINEL } |
Error codes used by libsss_sifp. More... | |
Functions | |
sss_sifp_error | sss_sifp_init (sss_sifp_ctx **_ctx) |
Initialize sss_sifp context using default allocator (malloc) More... | |
sss_sifp_error | sss_sifp_init_ex (void *alloc_pvt, sss_sifp_alloc_func *alloc_func, sss_sifp_free_func *free_func, sss_sifp_ctx **_ctx) |
Initialize sss_sifp context. More... | |
const char * | sss_sifp_get_last_io_error_name (sss_sifp_ctx *ctx) |
Return last error name from underlying D-Bus communication. More... | |
const char * | sss_sifp_get_last_io_error_message (sss_sifp_ctx *ctx) |
Return last error message from underlying D-Bus communication. More... | |
sss_sifp_error | sss_sifp_fetch_attr (sss_sifp_ctx *ctx, const char *object_path, const char *interface, const char *name, sss_sifp_attr ***_attrs) |
Fetch selected attributes of given object. More... | |
sss_sifp_error | sss_sifp_fetch_all_attrs (sss_sifp_ctx *ctx, const char *object_path, const char *interface, sss_sifp_attr ***_attrs) |
Fetch all attributes of given object. More... | |
sss_sifp_error | sss_sifp_fetch_object (sss_sifp_ctx *ctx, const char *object_path, const char *interface, sss_sifp_object **_object) |
Fetch D-Bus object. More... | |
sss_sifp_error | sss_sifp_find_attr_as_bool (sss_sifp_attr **attrs, const char *name, bool *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int16 (sss_sifp_attr **attrs, const char *name, int16_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint16 (sss_sifp_attr **attrs, const char *name, uint16_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int32 (sss_sifp_attr **attrs, const char *name, int32_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint32 (sss_sifp_attr **attrs, const char *name, uint32_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int64 (sss_sifp_attr **attrs, const char *name, int64_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint64 (sss_sifp_attr **attrs, const char *name, uint64_t *_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_string (sss_sifp_attr **attrs, const char *name, const char **_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_string_dict (sss_sifp_attr **attrs, const char *name, hash_table_t **_value) |
Find attribute in list and return its value. More... | |
sss_sifp_error | sss_sifp_find_attr_as_bool_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, bool **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int16_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, int16_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint16_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, uint16_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int32_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, int32_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint32_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, uint32_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_int64_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, int64_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_uint64_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, uint64_t **_value) |
Find attribute in list and return its values. More... | |
sss_sifp_error | sss_sifp_find_attr_as_string_array (sss_sifp_attr **attrs, const char *name, unsigned int *_num_values, const char *const **_value) |
Find attribute in list and return its values. More... | |
void | sss_sifp_free (sss_sifp_ctx **_ctx) |
Free sss_sifp context and set it to NULL. More... | |
void | sss_sifp_free_attrs (sss_sifp_ctx *ctx, sss_sifp_attr ***_attrs) |
Free attribute list and set it to NULL. More... | |
void | sss_sifp_free_object (sss_sifp_ctx *ctx, sss_sifp_object **_object) |
Free sss_sifp object and set it to NULL. More... | |
void | sss_sifp_free_string (sss_sifp_ctx *ctx, char **_str) |
Free string and set it to NULL. More... | |
void | sss_sifp_free_string_array (sss_sifp_ctx *ctx, char ***_str_array) |
Free array of strings and set it to NULL. More... | |
Libsss_simpleifp provides a synchronous interface to simplify basic communication with SSSD InfoPipe responder.
This interface is not a full replacement for the complete D-Bus API and it provides only access to the most common tasks like fetching attributes of SSSD objects.
If there is a need for a more sophisticated communication with the SSSD InfoPipe responder a D-Bus API of your choice should be used.
typedef struct sss_sifp_ctx sss_sifp_ctx |
Opaque libsss_sifp context.
One context shall not be used by multiple threads. Each thread needs to create and use its own context.
enum sss_sifp_error |
Error codes used by libsss_sifp.
sss_sifp_error sss_sifp_fetch_all_attrs | ( | sss_sifp_ctx * | ctx, |
const char * | object_path, | ||
const char * | interface, | ||
sss_sifp_attr *** | _attrs | ||
) |
Fetch all attributes of given object.
[in] | ctx | sss_sifp context |
[in] | object_path | D-Bus object path |
[in] | interface | D-Bus interface |
[out] | _attrs | Acquired attributes |
sss_sifp_error sss_sifp_fetch_attr | ( | sss_sifp_ctx * | ctx, |
const char * | object_path, | ||
const char * | interface, | ||
const char * | name, | ||
sss_sifp_attr *** | _attrs | ||
) |
Fetch selected attributes of given object.
[in] | ctx | sss_sifp context |
[in] | object_path | D-Bus object path |
[in] | interface | D-Bus interface |
[in] | name | Name of desired attribute |
[out] | _attrs | List of acquired attributes |
sss_sifp_error sss_sifp_fetch_object | ( | sss_sifp_ctx * | ctx, |
const char * | object_path, | ||
const char * | interface, | ||
sss_sifp_object ** | _object | ||
) |
Fetch D-Bus object.
[in] | ctx | sss_sifp context |
[in] | object_path | D-Bus object path |
[in] | interface | D-Bus interface |
[out] | _object | Object and its attributes |
sss_sifp_error sss_sifp_find_attr_as_bool | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
bool * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_bool_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
bool ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_int16 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
int16_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_int16_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
int16_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_int32 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
int32_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_int32_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
int32_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_int64 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
int64_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_int64_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
int64_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_string | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
const char ** | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_string_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
const char *const ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_string_dict | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
hash_table_t ** | _value | ||
) |
Find attribute in list and return its value.
The dictionary is stored in dhash table, the values are pointers to NULL-terminated string array.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_uint16 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
uint16_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_uint16_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
uint16_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_uint32 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
uint32_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_uint32_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
uint32_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
sss_sifp_error sss_sifp_find_attr_as_uint64 | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
uint64_t * | _value | ||
) |
Find attribute in list and return its value.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _value | Output value |
sss_sifp_error sss_sifp_find_attr_as_uint64_array | ( | sss_sifp_attr ** | attrs, |
const char * | name, | ||
unsigned int * | _num_values, | ||
uint64_t ** | _value | ||
) |
Find attribute in list and return its values.
[in] | attrs | Attributes |
[in] | name | Name of the attribute to find |
[out] | _num_values | Number of values in the array |
[out] | _value | Output array |
void sss_sifp_free | ( | sss_sifp_ctx ** | _ctx | ) |
Free sss_sifp context and set it to NULL.
[in,out] | _ctx | sss_sifp context |
void sss_sifp_free_attrs | ( | sss_sifp_ctx * | ctx, |
sss_sifp_attr *** | _attrs | ||
) |
Free attribute list and set it to NULL.
[in] | ctx | sss_sifp context |
[in,out] | _attrs | Attributes |
void sss_sifp_free_object | ( | sss_sifp_ctx * | ctx, |
sss_sifp_object ** | _object | ||
) |
Free sss_sifp object and set it to NULL.
[in] | ctx | sss_sifp context |
[in,out] | _object | Object |
void sss_sifp_free_string | ( | sss_sifp_ctx * | ctx, |
char ** | _str | ||
) |
Free string and set it to NULL.
[in] | ctx | sss_sifp context |
[in,out] | _str | String |
void sss_sifp_free_string_array | ( | sss_sifp_ctx * | ctx, |
char *** | _str_array | ||
) |
Free array of strings and set it to NULL.
[in] | ctx | sss_sifp context |
[in,out] | _str_array | Array of strings |
const char* sss_sifp_get_last_io_error_message | ( | sss_sifp_ctx * | ctx | ) |
Return last error message from underlying D-Bus communication.
[in] | ctx | sss_sifp context |
const char* sss_sifp_get_last_io_error_name | ( | sss_sifp_ctx * | ctx | ) |
Return last error name from underlying D-Bus communication.
[in] | ctx | sss_sifp context |
sss_sifp_error sss_sifp_init | ( | sss_sifp_ctx ** | _ctx | ) |
Initialize sss_sifp context using default allocator (malloc)
[out] | _ctx | sss_sifp context |
sss_sifp_error sss_sifp_init_ex | ( | void * | alloc_pvt, |
sss_sifp_alloc_func * | alloc_func, | ||
sss_sifp_free_func * | free_func, | ||
sss_sifp_ctx ** | _ctx | ||
) |
Initialize sss_sifp context.
[in] | alloc_pvt | Private data for allocation routine |
[in] | alloc_func | Function to allocate memory for the context, if NULL malloc() is used |
[in] | free_func | Function to free the memory of the context, if NULL free() is used |
[out] | _ctx | sss_sifp context |