Main Page | Modules | Data Structures | File List | Data Fields | Globals

api.h File Reference

types, defines and functions prototypes for BrlAPI's library More...

#include <inttypes.h>
#include <unistd.h>
#include <pthread.h>

Go to the source code of this file.

Data Structures

struct  brlapi_settings_t
 Settings structure for BrlAPI connection. More...
struct  brlapi_writeStruct

Defines

#define BRLAPI_MAXPACKETSIZE   512
#define BRLAPI_SOCKETPORTNUM   35751
#define BRLAPI_SOCKETPATH   "/var/lib/BrlAPI/"
#define BRLAPI_ETCDIR   "/etc"
#define BRLAPI_AUTHFILE   "brlapi.key"
#define BRLAPI_DEFAUTHPATH   BRLAPI_ETCDIR "/" BRLAPI_AUTHFILE
#define BRLCOMMANDS   0
#define BRLKEYCODES   1
#define BRLAPI_WRITESTRUCT_INITIALIZER   { -1, 0, 0, NULL, NULL, NULL, -1};
#define BRL_KEYBUF_SIZE   256
#define BRL_KEYCODE_MAX   ((brl_keycode_t) (UINT32_MAX))
#define BRLERR_SUCCESS   0
#define BRLERR_NOMEM   1
#define BRLERR_TTYBUSY   2
#define BRLERR_RAWMODEBUSY   3
#define BRLERR_UNKNOWN_INSTRUCTION   4
#define BRLERR_ILLEGAL_INSTRUCTION   5
#define BRLERR_INVALID_PARAMETER   6
#define BRLERR_INVALID_PACKET   7
#define BRLERR_RAWNOTSUPP   8
#define BRLERR_KEYSNOTSUPP   9
#define BRLERR_CONNREFUSED   10
#define BRLERR_OPNOTSUPP   11
#define BRLERR_GAIERR   12
#define BRLERR_LIBCERR   13
#define BRLERR_UNKNOWNTTY   14
#define BRLERR_PROTOCOL_VERSION   15
#define BRLERR_EOF   16
#define BRLERR_TOORECURSE   17
#define BRLERR_DRIVERERROR   18
#define brlapi_errno   (*brlapi_errno_location ())

Typedefs

typedef uint32_t brl_keycode_t
typedef uint32_t brl_type_t
typedef void(* brlapi_errorHandler_t )(int err, brl_type_t type, const void *buf, size_t size)

Functions

int brlapi_initializeConnection (const brlapi_settings_t *clientSettings, brlapi_settings_t *usedSettings)
void brlapi_closeConnection (void)
int brlapi_loadAuthKey (const char *filename, size_t *authlength, void *auth)
int brlapi_getDriverId (unsigned char *id, size_t n)
int brlapi_getDriverName (unsigned char *name, size_t n)
int brlapi_getDisplaySize (unsigned int *x, unsigned int *y)
int brlapi_getTty (int tty, int how)
int brlapi_leaveTty (void)
int brlapi_setFocus (int tty)
int brlapi_writeText (int cursor, const unsigned char *str)
int brlapi_writeDots (const unsigned char *dots)
int brlapi_write (const brlapi_writeStruct *s)
int brlapi_readKey (int block, brl_keycode_t *code)
int brlapi_ignoreKeyRange (brl_keycode_t x, brl_keycode_t y)
int brlapi_ignoreKeySet (const brl_keycode_t *s, unsigned int n)
int brlapi_unignoreKeyRange (brl_keycode_t x, brl_keycode_t y)
int brlapi_unignoreKeySet (const brl_keycode_t *s, unsigned int n)
int brlapi_getRaw (void)
int brlapi_leaveRaw (void)
ssize_t brlapi_sendRaw (const unsigned char *buf, size_t size)
ssize_t brlapi_recvRaw (unsigned char *buf, size_t size)
void brlapi_perror (const char *s)
int * brlapi_errno_location (void)
const char * brlapi_strerror (int err)
const char * brlapi_packetType (brl_type_t ptype)
brlapi_errorHandler_t brlapi_setErrorHandler (brlapi_errorHandler_t handler)

Variables

const char * brlapi_errlist []
const int brlapi_nerr
int brlapi_errno
pthread_mutex_t brlapi_fd_mutex


Detailed Description


Define Documentation

#define BRLAPI_MAXPACKETSIZE   512
 

Maximum packet size for packets exchanged on sockets and with braille terminal


Variable Documentation

pthread_mutex_t brlapi_fd_mutex
 

Mutex for protecting concurrent fd access

In order to regulate concurrent access to the library's file descriptor and requests to / answers from BrlAPI server, every function of the library locks this mutex, namely

If both these functions and brlapi_writePacket() or brlapi_readPacket() are used in a multithreaded application, this mutex must be locked before calling brlapi_writePacket() or brlapi_readPacket(), and unlocked afterwards.


Generated on Wed Dec 22 14:19:02 2004 for BrlAPI by  doxygen 1.3.9.1