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

Parameters

  driver | Specifies 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

  buffer | points on a buffer where the function will store the received data;
  size | holds 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

  buffer | points on the data;
  size | holds the packet size.

Returns
  size on success, -1 on error

## ◆ brlapi_suspendDriver()

int BRLAPI_STDCALL brlapi_suspendDriver | ( | const char * | driver | ) |

Suspend braille driver

Parameters

  driver | Specifies the name of the driver which will be suspended.

Returns
  -1 on error