---
name: "brlapi_protocol.h"
section: "3"
platform: "linux"
package: "libbrlapi-dev"
version: "6.7-3.1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/brlapi_protocol.h"
---

# brlapi\_protocol.h(3)

types and constants for BrlAPI's protocol

## NAME

brlapi\_protocol.h - types and constants for *BrlAPI's* protocol

## SYNOPSIS

`#include 'brlapi.h'`\
 `#include <inttypes.h>`\
 `#include <unistd.h>`\
 `#include <pthread.h>`\

### Data Structures

struct **brlapi\_header\_t**\
 struct **brlapi\_versionPacket\_t**\
 struct **brlapi\_authClientPacket\_t**\
 struct **brlapi\_authServerPacket\_t**\
 struct **brlapi\_errorPacket\_t**\
 struct **brlapi\_getDriverSpecificModePacket\_t**\
 struct **brlapi\_writeArgumentsPacket\_t**\
 struct **brlapi\_paramValuePacket\_t**\
 struct **brlapi\_paramRequestPacket\_t**\
 union **brlapi\_packet\_t**\

### Macros

\#define **UINT32\_MAX**   (4294967295U)\
 \#define **BRLAPI\_PROTOCOL\_VERSION**   ((uint32\_t) 8) /\*\* Communication protocol version \*/\
 \#define **BRLAPI\_MAXPACKETSIZE**   4096\
 \#define **BRLAPI\_PACKET\_VERSION**   'v'\
 \#define **BRLAPI\_PACKET\_AUTH**   'a'\
 \#define **BRLAPI\_PACKET\_GETDRIVERNAME**   'n'\
 \#define **BRLAPI\_PACKET\_GETMODELID**   'd'\
 \#define **BRLAPI\_PACKET\_GETDISPLAYSIZE**   's'\
 \#define **BRLAPI\_PACKET\_ENTERTTYMODE**   't'\
 \#define **BRLAPI\_PACKET\_SETFOCUS**   'F'\
 \#define **BRLAPI\_PACKET\_LEAVETTYMODE**   'L'\
 \#define **BRLAPI\_PACKET\_KEY**   'k'\
 \#define **BRLAPI\_PACKET\_IGNOREKEYRANGES**   'm'\
 \#define **BRLAPI\_PACKET\_ACCEPTKEYRANGES**   'u'\
 \#define **BRLAPI\_PACKET\_WRITE**   'w'\
 \#define **BRLAPI\_PACKET\_ENTERRAWMODE**   '\*'\
 \#define **BRLAPI\_PACKET\_LEAVERAWMODE**   '#'\
 \#define **BRLAPI\_PACKET\_PACKET**   'p'\
 \#define **BRLAPI\_PACKET\_ACK**   'A'\
 \#define **BRLAPI\_PACKET\_ERROR**   'e'\
 \#define **BRLAPI\_PACKET\_EXCEPTION**   'E'\
 \#define **BRLAPI\_PACKET\_SUSPENDDRIVER**   'S'\
 \#define **BRLAPI\_PACKET\_RESUMEDRIVER**   'R'\
 \#define **BRLAPI\_PACKET\_SYNCHRONIZE**   'Z'\
 \#define **BRLAPI\_PACKET\_PARAM\_VALUE**   (('P'\<\<8) + 'V')\
 \#define **BRLAPI\_PACKET\_PARAM\_REQUEST**   (('P'\<\<8) + 'R')\
 \#define **BRLAPI\_PACKET\_PARAM\_UPDATE**   (('P'\<\<8) + 'U')\
 \#define **BRLAPI\_DEVICE\_MAGIC**   (0xdeadbeefL)\
 \#define **BRLAPI\_HEADERSIZE**   sizeof(**brlapi\_header\_t**)\
 \#define **BRLAPI\_AUTH\_NONE**   'N'\
 \#define **BRLAPI\_AUTH\_KEY**   'K'\
 \#define **BRLAPI\_AUTH\_CRED**   'C'\
 \#define **BRLAPI\_WF\_DISPLAYNUMBER**   0X01\
 \#define **BRLAPI\_WF\_REGION**   0X02\
 \#define **BRLAPI\_WF\_TEXT**   0X04\
 \#define **BRLAPI\_WF\_ATTR\_AND**   0X08\
 \#define **BRLAPI\_WF\_ATTR\_OR**   0X10\
 \#define **BRLAPI\_WF\_CURSOR**   0X20\
 \#define **BRLAPI\_WF\_CHARSET**   0X40\
 \#define **BRLAPI\_PVF\_GLOBAL**   0X01    /\*\* Value is the global value \*/\
 \#define **BRLAPI\_MAXPARAMSIZE**   (**BRLAPI\_MAXPACKETSIZE** - (sizeof(uint32\_t) + sizeof(**brlapi\_param\_t**) + 2\*sizeof(uint32\_t)))\
 \#define **BRLAPI\_PARAMF\_GET**   0X100    /\*\* Get current parameter value    \*/\
 \#define **BRLAPI\_PARAMF\_SUBSCRIBE**   0X200    /\*\* Subscribe to parameter updates \*/\
 \#define **BRLAPI\_PARAMF\_UNSUBSCRIBE**   0X400    /\*\* Unsubscribe from parameter updates \*/\

### Functions

ssize\_t **brlapi\_writePacket** (**brlapi\_fileDescriptor** fd, **brlapi\_packetType\_t** type, const void \*buf, size\_t size)\
 ssize\_t **brlapi\_readPacketHeader** (**brlapi\_fileDescriptor** fd, **brlapi\_packetType\_t** \*packetType)\
 ssize\_t **brlapi\_readPacketContent** (**brlapi\_fileDescriptor** fd, size\_t packetSize, void \*buf, size\_t bufSize)\
 ssize\_t **brlapi\_readPacket** (**brlapi\_fileDescriptor** fd, **brlapi\_packetType\_t** \*type, void \*buf, size\_t size)\

### Variables

pthread\_mutex\_t **brlapi\_fd\_mutex**\

## Macro Definition Documentation

### #define UINT32\_MAX (4294967295U)

## Author

Generated automatically by Doxygen for BrlAPI from the source code.
