dmlite.h - Man Page

C wrapper for DMLite.

Synopsis

#include 'dmlite/common/config.h'
#include 'dmlite/common/errno.h'
#include 'any.h'
#include <stdlib.h>
#include <sys/stat.h>
#include <utime.h>

Data Structures

struct dmlite_credentials
Security credentials.
struct dmlite_security_ent
Used to handle user and group information.
struct dmlite_security_context
Security context.

Typedefs

typedef struct dmlite_manager dmlite_manager
Handle for the plugin manager.
typedef struct dmlite_context dmlite_context
Handle for a initialized context.
typedef struct dmlite_credentials dmlite_credentials
Security credentials.
typedef struct dmlite_security_ent dmlite_security_ent
Used to handle user and group information.
typedef struct dmlite_security_context dmlite_security_context
Security context.

Functions

unsigned dmlite_api_version (void)
Gets the API version.
dmlite_manager * dmlite_manager_new (void)
Initializes a dmlite_manager.
int dmlite_manager_free (dmlite_manager *manager)
Destroys the manager.
int dmlite_manager_load_plugin (dmlite_manager *manager, const char *lib, const char *id)
Loads a library.
int dmlite_manager_set (dmlite_manager *manager, const char *key, const char *value)
Sets a configuration parameter.
int dmlite_manager_load_configuration (dmlite_manager *manager, const char *file)
Loads a configuration file.
int dmlite_manager_get (dmlite_manager *handle, const char *key, char *buffer, size_t bufsize)
Returns the associated value with the given key.
int dmlite_manager_errno (dmlite_manager *manager)
Returns the last error code.
int dmlite_manager_errtype (dmlite_manager *manager)
Returns the type of the last error.
const char * dmlite_manager_error (dmlite_manager *manager)
Returns the string that describes the last error.
dmlite_context * dmlite_context_new (dmlite_manager *manager)
Returns a usable context from the loaded libraries.
int dmlite_context_free (dmlite_context *context)
Destroys the context.
int dmlite_errno (dmlite_context *context)
Returns the error code from the last failure.
int dmlite_errtype (dmlite_context *context)
Returns the type of the last error.
const char * dmlite_error (dmlite_context *context)
Error string from the last failed function.
int dmlite_setcredentials (dmlite_context *context, const dmlite_credentials *cred)
Sets the user security credentials.
const dmlite_security_context * dmlite_get_security_context (dmlite_context *context)
Returns the security context. There is no need to free.
int dmlite_set (dmlite_context *context, const char *k, const dmlite_any *v)
Sets a configuration parameter tied to a context.
int dmlite_set_array (dmlite_context *context, const char *k, unsigned n, dmlite_any *const *v)
Sets a configuration parameter tied to a context (array version).
int dmlite_unset (dmlite_context *context, const char *k)
Removes a configuration parameter.
int dmlite_unset_all (dmlite_context *context)
Removes all configuration parameters previously set.

Detailed Description

C wrapper for DMLite.

Author

Alejandro Álvarez Ayllon aalvarez@cern.ch

Typedef Documentation

typedef struct dmlite_context dmlite_context

Handle for a initialized context.

typedef struct dmlite_credentials dmlite_credentials

Security credentials. It is up to the caller to allocate and free this pointers. DMLite will keep a copy internaly. Non used values MUST be NULL.

typedef struct dmlite_manager dmlite_manager

Handle for the plugin manager.

typedef struct dmlite_security_context dmlite_security_context

Security context.

typedef struct dmlite_security_ent dmlite_security_ent

Used to handle user and group information.

Function Documentation

unsigned dmlite_api_version (void)

Gets the API version.

int dmlite_context_free (dmlite_context * context)

Destroys the context.

Parameters

context The context to free.

Returns

0 on success, error code otherwise.

dmlite_context * dmlite_context_new (dmlite_manager * manager)

Returns a usable context from the loaded libraries.

Parameters

manager The plugin manager.

Returns

NULL on failure. The error code can be checked with dmlite_manager_error.

Note

A context is NOT thread safe.

int dmlite_errno (dmlite_context * context)

Returns the error code from the last failure.

Parameters

context The context that was used in the failed function.

Returns

The error code.

const char * dmlite_error (dmlite_context * context)

Error string from the last failed function.

Parameters

context The context that was used in the failed function.

Returns

A string with the error description. Do NOT free it.

int dmlite_errtype (dmlite_context * context)

Returns the type of the last error.

Parameters

context The context that was used in the failed function.

Returns

The error type.

const dmlite_security_context * dmlite_get_security_context (dmlite_context * context)

Returns the security context. There is no need to free.

Parameters

context The DM context.

Returns

The security context.

int dmlite_manager_errno (dmlite_manager * manager)

Returns the last error code.

Parameters

manager The plugin manager used in the failing function.

Returns

The last error code, WITHOUT the error type byte.

const char * dmlite_manager_error (dmlite_manager * manager)

Returns the string that describes the last error.

Parameters

manager The plugin manager used in the failing function.

Returns

A pointer to the error string. Do NOT free it.

int dmlite_manager_errtype (dmlite_manager * manager)

Returns the type of the last error.

Parameters

manager The plugin manager used in the failing function.

Returns

The last error type byte.

int dmlite_manager_free (dmlite_manager * manager)

Destroys the manager.

Parameters

manager The manager to be destroyed.

int dmlite_manager_get (dmlite_manager * handle, const char * key, char * buffer, size_t bufsize)

Returns the associated value with the given key.

Parameters

manager The plugin manager.
key The configuration parameter.
buffer Where to leave the string.
bufsize The buffer size.

int dmlite_manager_load_configuration (dmlite_manager * manager, const char * file)

Loads a configuration file.

Parameters

manager The plugin manager.
file The configuration file

Returns

0 on success, error code otherwise.

int dmlite_manager_load_plugin (dmlite_manager * manager, const char * lib, const char * id)

Loads a library.

Parameters

manager The plugin manager.
lib The .so file. Usually, (path)/plugin_name.so.
id The plugin ID. Usually, plugin_name.

Returns

0 on success, error code otherwise.

dmlite_manager * dmlite_manager_new (void)

Initializes a dmlite_manager.

Returns

NULL on failure.

int dmlite_manager_set (dmlite_manager * manager, const char * key, const char * value)

Sets a configuration parameter.

Parameters

manager The plugin manager.
key The parameter to set.
value The value.

Returns

0 on success, error code otherwise.

int dmlite_set (dmlite_context * context, const char * k, const dmlite_any * v)

Sets a configuration parameter tied to a context. This can be used to pass advanced parameters to a plugin.

Parameters

context The DM context.
k The configuration key.
v Value.

Returns

0 on success, error code otherwise.

int dmlite_set_array (dmlite_context * context, const char * k, unsigned n, dmlite_any *const * v)

Sets a configuration parameter tied to a context (array version).

Parameters

context The DM context.
k The configuration key.
n The configuration key.
v Array of values.

Returns

0 on success, error code otherwise.

int dmlite_setcredentials (dmlite_context * context, const dmlite_credentials * cred)

Sets the user security credentials.

Parameters

context The DM context.
cred The security credentials.

Returns

0 on success, error code otherwise.

int dmlite_unset (dmlite_context * context, const char * k)

Removes a configuration parameter.

Parameters

context The DM context.
k The configuration key.

Returns

0 on success, error code otherwise.

int dmlite_unset_all (dmlite_context * context)

Removes all configuration parameters previously set.

Parameters

context The DM context.

Returns

0 on success, error code otherwise.

Author

Generated automatically by Doxygen for dmlite from the source code.

Info

Wed Jan 24 2024 00:00:00 Version 0.6 dmlite