Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

libmacs.h File Reference

MACS Client C API header file. More...

Go to the source code of this file.

Defines

#define MACS_AUS   1
#define MACS_UPS   2
#define MACS_ATS   4
#define MACS_ALL   MACS_AUS | MACS_UPS | MACS_ATS

Enumerations

enum  macs_profile_type {
  MACS_TYPE_INT, MACS_TYPE_FLOAT, MACS_TYPE_CHAR, MACS_TYPE_BLOB,
  MACS_TYPE_LINK, MACS_TYPE_RES, MACS_TYPE_AUTO
}
enum  macs_action { MACS_READ, MACS_WRITE, MACS_ADMIN, MACS_OWN }

Functions

void * macs_init (const char *cf, int connect)
 Initializes the library.

const char * macs_cf (void *ctxp)
 Returns the loaded configuration file.

void macs_exit (void *ctxp)
 Deinitializes the library.

int macs_ping (const void *ctxp, const int servers)
 Ping servers.

char * macs_get_config (const void *ctxp, const char *key,...)
 Fetch a configuration value.

char ** macs_get_configs (const void *ctxp, int *nodes, const char *key,...)
 Fetch several configuration values.

char ** macs_get_methods (const void *ctxp, int server)
 Fetch a list of available methods.

int macs_logout (const void *ctxp, const char *skey)
 Remove an AUS session.

char * macs_login (const void *ctxp, const char *method, const char *login, const char *pwd, const char *ip, const char *port, int timeout)
 Create an AUS session.

char * macs_auth_sess (const void *ctxp, const char *skey, const char *ip, const char *port)
 Ask an AUS if this skey is logged in.

char ** macs_upc_list (const void *ctxp, const char *meth, const char *id, macs_profile_type type)
 Expose the keys in this user's profile.

char * macs_upc_path2id (const void *ctxp, const char *meth, const char *path)
char * macs_upc_id2path (const void *ctxp, const char *meth, const char *id)
void * macs_upc_get (const void *ctxp, const char *meth, char *rid, char *nsid, macs_profile_type *type, long int *siz)
 Fetch a profile element.

int macs_upc_set (const void *ctxp, const char *meth, char *rid, char *nsid, macs_profile_type type, const void *val, long int siz)
 Add a profile element.

int macs_authorize (const void *ctxp, const char *uid, macs_action act, const char *rid)
 Ask an ATS if this operation is allowed.

char ** macs_ats_login (const void *ctxp, const char *uid)
 Log a user into the ATS.

int macs_ats_logout (const void *ctxp, char *uid)
 Log a user out of the ATS.


Detailed Description

MACS Client C API header file.

This file declares the functions and defines exported by the libmacs. It should be included by programs that want to access the MACS Client C API.


Generated on Tue Oct 8 22:15:53 2002 for MACS Client C API by doxygen1.2.16