BrlAPI  0.8
Functions
Driver-Specific modes

Raw and Suspend Modes mechanism. More...

Functions

int BRLAPI_STDCALL brlapi_enterRawMode (const char *driver)
 
int BRLAPI_STDCALL brlapi__enterRawMode (brlapi_handle_t *handle, const char *driver)
 
int BRLAPI_STDCALL brlapi_leaveRawMode (void)
 
int BRLAPI_STDCALL brlapi__leaveRawMode (brlapi_handle_t *handle)
 
ssize_t BRLAPI_STDCALL brlapi_sendRaw (const void *buffer, size_t size)
 
ssize_t BRLAPI_STDCALL brlapi__sendRaw (brlapi_handle_t *handle, const void *buffer, size_t size)
 
ssize_t BRLAPI_STDCALL brlapi_recvRaw (void *buffer, size_t size)
 
ssize_t BRLAPI_STDCALL brlapi__recvRaw (brlapi_handle_t *handle, void *buffer, size_t size)
 
int BRLAPI_STDCALL brlapi_suspendDriver (const char *driver)
 
int BRLAPI_STDCALL brlapi__suspendDriver (brlapi_handle_t *handle, const char *driver)
 
int BRLAPI_STDCALL brlapi_resumeDriver (void)
 
int BRLAPI_STDCALL brlapi__resumeDriver (brlapi_handle_t *handle)
 

Detailed Description

If the application wants to directly talk to the braille terminal, it should use Raw Mode. In this special mode, the driver gives the whole control of the terminal to it: brltty doesn't work any more.

For this, it simply has to call brlapi_enterRawMode(), then brlapi_sendRaw() and brlapi_recvRaw(), and finally give control back thanks to brlapi_leaveRawMode().

Special care of the terminal should be taken, since one might completely trash the terminal's data, or even lock it! The application should always check for terminal's type thanks to brlapi_getDriverName().

The client can also make brltty close the driver by using brlapi_suspendDriver(), and resume it again with brlapi_resumeDriver(). This should not be used if possible: raw mode should be sufficient for any use. If not, please ask for features :)

Function Documentation

◆ brlapi__enterRawMode()

int BRLAPI_STDCALL brlapi__enterRawMode ( brlapi_handle_t handle,
const char *  driver 
)

◆ brlapi__leaveRawMode()

int BRLAPI_STDCALL brlapi__leaveRawMode ( brlapi_handle_t handle)

◆ brlapi__recvRaw()

ssize_t BRLAPI_STDCALL brlapi__recvRaw ( brlapi_handle_t handle,
void *  buffer,
size_t  size 
)

◆ brlapi__resumeDriver()

int BRLAPI_STDCALL brlapi__resumeDriver ( brlapi_handle_t handle)

◆ brlapi__sendRaw()

ssize_t BRLAPI_STDCALL brlapi__sendRaw ( brlapi_handle_t handle,
const void *  buffer,
size_t  size 
)

◆ brlapi__suspendDriver()

int BRLAPI_STDCALL brlapi__suspendDriver ( brlapi_handle_t handle,
const char *  driver 
)

◆ brlapi_enterRawMode()

int BRLAPI_STDCALL brlapi_enterRawMode ( const char *  driver)

Switch to Raw mode

TODO: document which functions work in raw mode.

Parameters
driverSpecifies the name of the driver for which the raw communication will be established.
Returns
0 on success, -1 on error

◆ brlapi_leaveRawMode()

int BRLAPI_STDCALL brlapi_leaveRawMode ( void  )

Leave Raw mode

Returns
0 on success, -1 on error

◆ brlapi_recvRaw()

ssize_t BRLAPI_STDCALL brlapi_recvRaw ( void *  buffer,
size_t  size 
)

Get Raw data

Parameters
bufferpoints on a buffer where the function will store the received data;
sizeholds the buffer size.
Returns
its size, -1 on error, or on interruption by a signal or a parameter change notification, in which case brlapi_errno will be BRLAPI_ERROR_LIBCERR and errno will be EINTR.

◆ brlapi_resumeDriver()

int BRLAPI_STDCALL brlapi_resumeDriver ( void  )

Resume braille driver

Returns
-1 on error

◆ brlapi_sendRaw()

ssize_t BRLAPI_STDCALL brlapi_sendRaw ( const void *  buffer,
size_t  size 
)

Send Raw data

Parameters
bufferpoints on the data;
sizeholds the packet size.
Returns
size on success, -1 on error

◆ brlapi_suspendDriver()

int BRLAPI_STDCALL brlapi_suspendDriver ( const char *  driver)

Suspend braille driver

Parameters
driverSpecifies the name of the driver which will be suspended.
Returns
-1 on error