BrlAPI: api.h File Reference

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 brlapi_initializeConnection() brlapi_closeConnection() brlapi_getRaw() brlapi_leaveRaw() brlapi_sendRaw() brlapi_recvRaw() brlapi_getDriverId() brlapi_getDriverName() brlapi_getDisplaySize() brlapi_getTty() brlapi_leaveTty() brlapi_*write*() brlapi_(un)?ignorekey(Range|Set)() brlapi_readKey() 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.