include/dmlite/c/utils.h File Reference

C wrapper for DMLite utils. More...

#include "any.h"
#include "../common/config.h"
#include <limits.h>
#include <stdint.h>
Include dependency graph for utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dmlite_url
 Handles URL. More...
struct  dmlite_aclentry
 Handles ACL entries. More...

Defines

#define ACL_ENTRIES_MAX   300
#define ACL_SIZE   13
#define CSUMTYPE_MAX   3
#define CSUMVALUE_MAX   33
#define GUID_MAX   36
#define HOST_NAME_MAX   _POSIX_HOST_NAME_MAX
#define QUERY_MAX   1024
#define SCHEME_MAX   7
#define URL_MAX   8192
#define ACL_USER_OBJ   1
#define ACL_USER   2
#define ACL_GROUP_OBJ   3
#define ACL_GROUP   4
#define ACL_MASK   5
#define ACL_OTHER   6
#define ACL_DEFAULT   0x20

Functions

dmlite_urldmlite_url_new (void)
 Creates a new dmlite_url.
dmlite_urldmlite_parse_url (const char *source)
 Parses a URL.
void dmlite_url_free (dmlite_url *url)
 Frees the given url.
char * dmlite_url_serialize (dmlite_url *url, char *buffer, size_t bsize)
 Serializes a URL.
void dmlite_serialize_acls (unsigned nEntries, dmlite_aclentry *acl, char *buffer, size_t bsize)
 Serializes into a string a set of ACL entries.
void dmlite_deserialize_acl (const char *buffer, unsigned *nEntries, dmlite_aclentry **acl)
 Deserializes a string into an array of ACL entries.
void dmlite_acl_free (unsigned nEntries, dmlite_aclentry *acl)
 Frees an array of ACL entries as returned by dm_deserialize_acls.

Detailed Description

C wrapper for DMLite utils.

Author:
Alejandro Álvarez Ayllon <aalvarez@cern.ch>

Define Documentation

#define ACL_DEFAULT   0x20
#define ACL_ENTRIES_MAX   300
#define ACL_GROUP   4
#define ACL_GROUP_OBJ   3
#define ACL_MASK   5
#define ACL_OTHER   6
#define ACL_SIZE   13
#define ACL_USER   2
#define ACL_USER_OBJ   1
#define CSUMTYPE_MAX   3
#define CSUMVALUE_MAX   33
#define GUID_MAX   36
#define HOST_NAME_MAX   _POSIX_HOST_NAME_MAX
#define QUERY_MAX   1024
#define SCHEME_MAX   7
#define URL_MAX   8192

Function Documentation

void dmlite_acl_free ( unsigned  nEntries,
dmlite_aclentry acl 
)

Frees an array of ACL entries as returned by dm_deserialize_acls.

Parameters:
nEntries The number of entries in the array.
acl The ACL.
void dmlite_deserialize_acl ( const char *  buffer,
unsigned *  nEntries,
dmlite_aclentry **  acl 
)

Deserializes a string into an array of ACL entries.

Parameters:
buffer The string.
nEntries The resulting number of ACL entries.
acl The resulting ACL.
dmlite_url* dmlite_parse_url ( const char *  source  ) 

Parses a URL.

Parameters:
source Original URL.
Returns:
Parsed URL.
Note:
dest->query must be NULL for the first call, so it is internally allocated.
void dmlite_serialize_acls ( unsigned  nEntries,
dmlite_aclentry acl,
char *  buffer,
size_t  bsize 
)

Serializes into a string a set of ACL entries.

Parameters:
nEntries The number of ACL entries in the array.
acl The ACL.
buffer Where to put the resulting string.
bsize The buffer size.
void dmlite_url_free ( dmlite_url url  ) 

Frees the given url.

Parameters:
url The url to free.
dmlite_url* dmlite_url_new ( void   ) 

Creates a new dmlite_url.

char* dmlite_url_serialize ( dmlite_url url,
char *  buffer,
size_t  bsize 
)

Serializes a URL.

Parameters:
url The url to serialize.
buffer Where to put the serialized version.
bsize The buffer size.
Returns:
Buffer, NULL on error.

Generated on 11 Jul 2013 for dmlite by  doxygen 1.6.1