dmlite.h (3) - Linux Manuals
NAME
dmlite.h -
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 [at] 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
typedef struct dmlite_security_ent dmlite_security_ent
Used to handle user and group information.
Function Documentation
unsigned dmlite_api_version (void)
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_tbufsize)
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, unsignedn, 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.