BrlAPI  1.0
brlapi.h
Go to the documentation of this file.
1 /* Programs/brlapi.h. Generated from brlapi.h.in by configure. */
2 /*
3  * libbrlapi - A library providing access to braille terminals for applications.
4  *
5  * Copyright (C) 2002-2013 by
6  * Samuel Thibault <Samuel.Thibault@ens-lyon.org>
7  * Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
8  *
9  * libbrlapi comes with ABSOLUTELY NO WARRANTY.
10  *
11  * This is free software, placed under the terms of the
12  * GNU Lesser General Public License, as published by the Free Software
13  * Foundation; either version 2.1 of the License, or (at your option) any
14  * later version. Please see the file LICENSE-LGPL for details.
15  *
16  * Web Page: http://mielke.cc/brltty/
17  *
18  * This software is maintained by Dave Mielke <dave@mielke.cc>.
19  */
20 
25 #ifndef BRLAPI_INCLUDED
26 #define BRLAPI_INCLUDED
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31 
32 /* #undef BRLAPI_WIN32 */
33 
38 #define BRLAPI_RELEASE "0.6.0"
39 
41 #define BRLAPI_MAJOR 0
42 
44 #define BRLAPI_MINOR 6
45 
47 #define BRLAPI_REVISION 0
48 
51 /* Types are defined there */
52 #include <sys/types.h>
53 
54 #ifdef BRLAPI_WIN32
55 #include <windows.h>
56 #define BRLAPI_STDCALL __stdcall
57 #else /* BRLAPI_WIN32 */
58 #define BRLAPI_STDCALL
59 #endif /* BRLAPI_WIN32 */
60 
61 #ifdef _MSC_VER
62 typedef __int64 uint64_t;
63 typedef __int32 uint32_t;
64 #define UINT64_C(x) (x ## Ui64)
65 #define PRIx64 "I64x"
66 typedef signed int ssize_t;
67 #else /* _MSC_VER */
68 
69 /* this is for uint*_t */
70 #include <stdint.h>
71 
72 /* NULL is defined there */
73 #include <unistd.h>
74 
75 #include <inttypes.h> /* For PRIx64 */
76 #endif /* _MSC_VER */
77 
78 #include <wchar.h>
79 
103 
106 
120 #define BRLAPI_SOCKETPORTNUM 4101
121 #define BRLAPI_SOCKETPORT "4101"
122 
124 #define BRLAPI_SOCKETPATH "/var/lib/BrlAPI"
125 
130 #define BRLAPI_ETCDIR "/etc"
131 
135 #define BRLAPI_AUTHKEYFILE "brlapi.key"
136 
138 #define BRLAPI_DEFAUTH BRLAPI_ETCDIR "/" BRLAPI_AUTHKEYFILE
139 
140 #ifdef __MINGW32__
141 typedef HANDLE brlapi_fileDescriptor;
142 #else /* __MINGW32__ */
144 #endif /* __MINGW32__ */
145 
176 typedef struct {
184  char *auth;
185 
194  char *host;
196 
197 /* BRLAPI_SETTINGS_INITIALIZER */
200 #define BRLAPI_SETTINGS_INITIALIZER { NULL, NULL }
201 
202 /* brlapi_openConnection */
247 #ifndef BRLAPI_NO_SINGLE_SESSION
248 brlapi_fileDescriptor BRLAPI_STDCALL brlapi_openConnection(const brlapi_connectionSettings_t *desiredSettings, brlapi_connectionSettings_t *actualSettings);
249 #endif /* BRLAPI_NO_SINGLE_SESSION */
250 brlapi_fileDescriptor BRLAPI_STDCALL brlapi__openConnection(brlapi_handle_t *handle, const brlapi_connectionSettings_t *desiredSettings, brlapi_connectionSettings_t *actualSettings);
251 
252 /* brlapi_closeConnection */
259 #ifndef BRLAPI_NO_SINGLE_SESSION
261 #endif /* BRLAPI_NO_SINGLE_SESSION */
263 
279 #define BRLAPI_MAXNAMELENGTH 31
280 
281 /* brlapi_getDriverName */
293 #ifndef BRLAPI_NO_SINGLE_SESSION
294 int BRLAPI_STDCALL brlapi_getDriverName(char *buffer, size_t size);
295 #endif /* BRLAPI_NO_SINGLE_SESSION */
296 int BRLAPI_STDCALL brlapi__getDriverName(brlapi_handle_t *handle, char *buffer, size_t size);
297 
298 /* brlapi_getDisplaySize */
300 #ifndef BRLAPI_NO_SINGLE_SESSION
301 int BRLAPI_STDCALL brlapi_getDisplaySize(unsigned int *x, unsigned int *y);
302 #endif /* BRLAPI_NO_SINGLE_SESSION */
303 int BRLAPI_STDCALL brlapi__getDisplaySize(brlapi_handle_t *handle, unsigned int *x, unsigned int *y);
304 
328 /* brlapi_enterTtyMode */
348 #ifndef BRLAPI_NO_SINGLE_SESSION
349 int BRLAPI_STDCALL brlapi_enterTtyMode(int tty, const char *driver);
350 #endif /* BRLAPI_NO_SINGLE_SESSION */
351 int BRLAPI_STDCALL brlapi__enterTtyMode(brlapi_handle_t *handle, int tty, const char *driver);
352 
362 #define BRLAPI_TTY_DEFAULT -1
363 
364 /* brlapi_enterTtyModeWithPath */
376 #ifndef BRLAPI_NO_SINGLE_SESSION
377 int BRLAPI_STDCALL brlapi_enterTtyModeWithPath(int *ttys, int count, const char *driver);
378 #endif /* BRLAPI_NO_SINGLE_SESSION */
379 int BRLAPI_STDCALL brlapi__enterTtyModeWithPath(brlapi_handle_t *handle, int *ttys, int count, const char *driver);
380 
381 /* brlapi_leaveTtyMode */
388 #ifndef BRLAPI_NO_SINGLE_SESSION
390 #endif /* BRLAPI_NO_SINGLE_SESSION */
392 
393 /* brlapi_setFocus */
404 #ifndef BRLAPI_NO_SINGLE_SESSION
405 int BRLAPI_STDCALL brlapi_setFocus(int tty);
406 #endif /* BRLAPI_NO_SINGLE_SESSION */
407 int BRLAPI_STDCALL brlapi__setFocus(brlapi_handle_t *handle, int tty);
408 
438 /* brlapi_writeText */
453 #ifndef BRLAPI_NO_SINGLE_SESSION
454 int BRLAPI_STDCALL brlapi_writeText(int cursor, const char *text);
455 #endif /* BRLAPI_NO_SINGLE_SESSION */
456 int BRLAPI_STDCALL brlapi__writeText(brlapi_handle_t *handle, int cursor, const char *text);
457 
458 /* brlapi_writeWText */
471 #ifndef BRLAPI_NO_SINGLE_SESSION
472 int BRLAPI_STDCALL brlapi_writeWText(int cursor, const wchar_t *text);
473 #endif /* BRLAPI_NO_SINGLE_SESSION */
474 int BRLAPI_STDCALL brlapi__writeWText(brlapi_handle_t *handle, int cursor, const wchar_t *text);
475 
476 /* brlapi_writeDots */
484 #ifndef BRLAPI_NO_SINGLE_SESSION
485 int BRLAPI_STDCALL brlapi_writeDots(const unsigned char *dots);
486 #endif /* BRLAPI_NO_SINGLE_SESSION */
487 int BRLAPI_STDCALL brlapi__writeDots(brlapi_handle_t *handle, const unsigned char *dots);
488 
489 /* brlapi_writeArguments_t */
491 typedef struct {
492  int displayNumber ;
493  unsigned int regionBegin ;
494  unsigned int regionSize ;
495  char *text ;
496  int textSize ;
497  unsigned char *andMask ;
498  unsigned char *orMask ;
499  int cursor ;
500  char *charset ;
502 
507 #define BRLAPI_DISPLAY_DEFAULT -1
508 
513 #define BRLAPI_CURSOR_LEAVE -1
514 
519 #define BRLAPI_CURSOR_OFF 0
520 
521 /* BRLAPI_WRITEARGUMENTS_INITIALIZER */
531 #define BRLAPI_WRITEARGUMENTS_INITIALIZER { BRLAPI_DISPLAY_DEFAULT, 0, 0, NULL, -1, NULL, NULL, BRLAPI_CURSOR_LEAVE, NULL }
532 
533 /* brlapi_write */
569 #ifndef BRLAPI_NO_SINGLE_SESSION
571 #endif /* BRLAPI_NO_SINGLE_SESSION */
573 
576 #include "brlapi_keycodes.h"
577 
591 /* brlapi_expandedKeyCode_t */
593 typedef struct {
594  unsigned int type ;
595  unsigned int command ;
596  unsigned int argument ;
597  unsigned int flags ;
599 
600 /* brlapi_expandKeyCode */
609 
610 /* brlapi_describedKeyCode_t */
612 typedef struct {
613  const char *type ;
614  const char *command ;
615  unsigned int argument ;
616  unsigned int flags ;
617  const char *flag[64 - BRLAPI_KEY_FLAGS_SHIFT] ;
620 
621 /* brlapi_describeKeyCode */
630 
632 #define BRLAPI_UC_ROW 0x2800UL
633 
634 /* brlapi_readKey */
701 #ifndef BRLAPI_NO_SINGLE_SESSION
702 int BRLAPI_STDCALL brlapi_readKey(int wait, brlapi_keyCode_t *code);
703 #endif /* BRLAPI_NO_SINGLE_SESSION */
704 int BRLAPI_STDCALL brlapi__readKey(brlapi_handle_t *handle, int wait, brlapi_keyCode_t *code);
705 
707 typedef enum {
714 
715 /* brlapi_ignoreKeys */
728 #ifndef BRLAPI_NO_SINGLE_SESSION
729 int BRLAPI_STDCALL brlapi_ignoreKeys(brlapi_rangeType_t type, const brlapi_keyCode_t keys[], unsigned int count);
730 #endif /* BRLAPI_NO_SINGLE_SESSION */
731 int BRLAPI_STDCALL brlapi__ignoreKeys(brlapi_handle_t *handle, brlapi_rangeType_t type, const brlapi_keyCode_t keys[], unsigned int count);
732 
733 /* brlapi_acceptKeys */
746 #ifndef BRLAPI_NO_SINGLE_SESSION
747 int BRLAPI_STDCALL brlapi_acceptKeys(brlapi_rangeType_t type, const brlapi_keyCode_t keys[], unsigned int count);
748 #endif /* BRLAPI_NO_SINGLE_SESSION */
749 int BRLAPI_STDCALL brlapi__acceptKeys(brlapi_handle_t *handle, brlapi_rangeType_t type, const brlapi_keyCode_t keys[], unsigned int count);
750 
751 /* brlapi_ignoreAllKeys */
757 #ifndef BRLAPI_NO_SINGLE_SESSION
759 #define brlapi_ignoreAllKeys() brlapi_ignoreKeys(brlapi_rangeType_all, NULL, 0)
760 #endif /* BRLAPI_NO_SINGLE_SESSION */
762 #define brlapi__ignoreAllKeys(handle) brlapi__ignoreKeys(handle, brlapi_rangeType_all, NULL, 0)
763 
764 /* brlapi_acceptAllKeys */
773 #ifndef BRLAPI_NO_SINGLE_SESSION
775 #define brlapi_acceptAllKeys() brlapi_acceptKeys(brlapi_rangeType_all, NULL, 0)
776 #endif /* BRLAPI_NO_SINGLE_SESSION */
778 #define brlapi__acceptAllKeys(handle) brlapi__acceptKeys(handle, brlapi_rangeType_all, NULL, 0)
779 
784 typedef struct {
788 
789 /* brlapi_ignoreKeyRanges */
800 #ifndef BRLAPI_NO_SINGLE_SESSION
801 int BRLAPI_STDCALL brlapi_ignoreKeyRanges(brlapi_range_t ranges[], unsigned int count);
802 #endif /* BRLAPI_NO_SINGLE_SESSION */
803 int BRLAPI_STDCALL brlapi__ignoreKeyRanges(brlapi_handle_t *handle, brlapi_range_t ranges[], unsigned int count);
804 
805 /* brlapi_acceptKeyRanges */
816 #ifndef BRLAPI_NO_SINGLE_SESSION
817 int BRLAPI_STDCALL brlapi_acceptKeyRanges(brlapi_range_t ranges[], unsigned int count);
818 #endif /* BRLAPI_NO_SINGLE_SESSION */
819 int BRLAPI_STDCALL brlapi__acceptKeyRanges(brlapi_handle_t *handle, brlapi_range_t ranges[], unsigned int count);
845 /* brlapi_enterRawMode */
850 #ifndef BRLAPI_NO_SINGLE_SESSION
851 int BRLAPI_STDCALL brlapi_enterRawMode(const char *driver);
852 #endif /* BRLAPI_NO_SINGLE_SESSION */
853 int BRLAPI_STDCALL brlapi__enterRawMode(brlapi_handle_t *handle, const char *driver);
854 
855 /* brlapi_leaveRawMode */
858 #ifndef BRLAPI_NO_SINGLE_SESSION
860 #endif /* BRLAPI_NO_SINGLE_SESSION */
862 
863 /* brlapi_sendRaw */
869 #ifndef BRLAPI_NO_SINGLE_SESSION
870 ssize_t BRLAPI_STDCALL brlapi_sendRaw(const void *buffer, size_t size);
871 #endif /* BRLAPI_NO_SINGLE_SESSION */
872 ssize_t BRLAPI_STDCALL brlapi__sendRaw(brlapi_handle_t *handle, const void *buffer, size_t size);
873 
874 /* brlapi_recvRaw */
881 #ifndef BRLAPI_NO_SINGLE_SESSION
882 ssize_t BRLAPI_STDCALL brlapi_recvRaw(void *buffer, size_t size);
883 #endif /* BRLAPI_NO_SINGLE_SESSION */
884 ssize_t BRLAPI_STDCALL brlapi__recvRaw(brlapi_handle_t *handle, void *buffer, size_t size);
885 
886 /* brlapi_suspendDriver */
891 #ifndef BRLAPI_NO_SINGLE_SESSION
892 int BRLAPI_STDCALL brlapi_suspendDriver(const char *driver);
893 #endif /* BRLAPI_NO_SINGLE_SESSION */
894 int BRLAPI_STDCALL brlapi__suspendDriver(brlapi_handle_t *handle, const char *driver);
895 
896 /* brlapi_resumeDriver */
900 #ifndef BRLAPI_NO_SINGLE_SESSION
902 #endif /* BRLAPI_NO_SINGLE_SESSION */
927 /* Error codes */
928 #define BRLAPI_ERROR_SUCCESS 0
929 #define BRLAPI_ERROR_NOMEM 1
930 #define BRLAPI_ERROR_TTYBUSY 2
931 #define BRLAPI_ERROR_DEVICEBUSY 3
932 #define BRLAPI_ERROR_UNKNOWN_INSTRUCTION 4
933 #define BRLAPI_ERROR_ILLEGAL_INSTRUCTION 5
934 #define BRLAPI_ERROR_INVALID_PARAMETER 6
935 #define BRLAPI_ERROR_INVALID_PACKET 7
936 #define BRLAPI_ERROR_CONNREFUSED 8
937 #define BRLAPI_ERROR_OPNOTSUPP 9
938 #define BRLAPI_ERROR_GAIERR 10
939 #define BRLAPI_ERROR_LIBCERR 11
940 #define BRLAPI_ERROR_UNKNOWNTTY 12
941 #define BRLAPI_ERROR_PROTOCOL_VERSION 13
942 #define BRLAPI_ERROR_EOF 14
943 #define BRLAPI_ERROR_EMPTYKEY 15
944 #define BRLAPI_ERROR_DRIVERERROR 16
945 #define BRLAPI_ERROR_AUTHENTICATION 17
947 /* brlapi_errlist */
948 
952 extern const char *brlapi_errlist[];
953 
954 /* brlapi_nerr */
956 extern const int brlapi_nerr;
957 
958 /* brlapi_perror */
963 void BRLAPI_STDCALL brlapi_perror(const char *s);
964 
965 /* brlapi_error_t */
967 typedef struct {
968  int brlerrno;
970  int gaierrno;
971  const char *errfun;
973 
983 
993 
995 extern int brlapi_errno;
997 extern int brlapi_libcerrno;
999 extern int brlapi_gaierrno;
1001 extern const char *brlapi_errfun;
1002 
1004 #define brlapi_error (*brlapi_error_location())
1005 
1006 #define brlapi_errno (brlapi_error.brlerrno)
1007 
1008 #define brlapi_libcerrno (brlapi_error.libcerrno)
1009 
1010 #define brlapi_gaierrno (brlapi_error.gaierrno)
1011 
1012 #define brlapi_errfun (brlapi_error.errfun)
1013 
1014 /* brlapi_strerror */
1020 const char * BRLAPI_STDCALL brlapi_strerror(const brlapi_error_t *error);
1021 
1023 typedef uint32_t brlapi_packetType_t;
1024 
1025 /* brlapi_getPacketTypeName */
1031 const char * BRLAPI_STDCALL brlapi_getPacketTypeName(brlapi_packetType_t type);
1032 
1033 /* brlapi_exceptionHandler_t */
1045 #ifndef BRLAPI_NO_SINGLE_SESSION
1046 typedef void (BRLAPI_STDCALL *brlapi_exceptionHandler_t)(int error, brlapi_packetType_t type, const void *packet, size_t size);
1047 #endif /* BRLAPI_NO_SINGLE_SESSION */
1048 typedef void (BRLAPI_STDCALL *brlapi__exceptionHandler_t)(brlapi_handle_t *handle, int error, brlapi_packetType_t type, const void *packet, size_t size);
1049 
1050 /* brlapi_strexception */
1060 #ifndef BRLAPI_NO_SINGLE_SESSION
1061 int BRLAPI_STDCALL brlapi_strexception(char *buffer, size_t bufferSize, int error, brlapi_packetType_t type, const void *packet, size_t packetSize);
1062 #endif /* BRLAPI_NO_SINGLE_SESSION */
1063 int BRLAPI_STDCALL brlapi__strexception(brlapi_handle_t *handle, char *buffer, size_t bufferSize, int error, brlapi_packetType_t type, const void *packet, size_t packetSize);
1064 
1065 /* brlapi_setExceptionHandler */
1074 #ifndef BRLAPI_NO_SINGLE_SESSION
1076 #endif /* BRLAPI_NO_SINGLE_SESSION */
1078 
1079 #ifndef BRLAPI_NO_SINGLE_SESSION
1080 void BRLAPI_STDCALL brlapi_defaultExceptionHandler(int error, brlapi_packetType_t type, const void *packet, size_t size);
1081 #endif /* BRLAPI_NO_SINGLE_SESSION */
1082 void BRLAPI_STDCALL brlapi__defaultExceptionHandler(brlapi_handle_t *handle, int error, brlapi_packetType_t type, const void *packet, size_t size);
1083 
1086 /* Windows-specific tricks - don't look at this */
1087 #ifdef BRLAPI_WIN32
1088 #ifndef BRLAPI_NO_SINGLE_SESSION
1089 int BRLAPI_STDCALL brlapi_writeTextWin(int cursor, const void *str, int wide);
1090 #endif /* BRLAPI_NO_SINGLE_SESSION */
1091 int BRLAPI_STDCALL brlapi__writeTextWin(brlapi_handle_t *handle, int cursor, const void *str, int wide);
1092 
1093 #ifndef BRLAPI_NO_SINGLE_SESSION
1094 int BRLAPI_STDCALL brlapi_writeWin(const brlapi_writeArguments_t *s, int wide);
1095 #endif /* BRLAPI_NO_SINGLE_SESSION */
1096 int BRLAPI_STDCALL brlapi__writeWin(brlapi_handle_t *handle, const brlapi_writeArguments_t *s, int wide);
1097 
1098 #ifdef UNICODE
1099 #ifndef BRLAPI_NO_SINGLE_SESSION
1100 #define brlapi_writeText(cursor, str) brlapi_writeTextWin(cursor, str, 1)
1101 #endif /* BRLAPI_NO_SINGLE_SESSION */
1102 #define brlapi__writeText(handle, cursor, str) brlapi__writeTextWin(handle, cursor, str, 1)
1103 
1104 #ifndef BRLAPI_NO_SINGLE_SESSION
1105 #define brlapi_write(s) brlapi_writeWin(s, 1)
1106 #endif /* BRLAPI_NO_SINGLE_SESSION */
1107 #define brlapi__write(handle, s) brlapi__writeWin(handle, s, 1)
1108 
1109 #else /* UNICODE */
1110 
1111 #ifndef BRLAPI_NO_SINGLE_SESSION
1112 #define brlapi_writeText(cursor, str) brlapi_writeTextWin(cursor, str, 0)
1113 #endif /* BRLAPI_NO_SINGLE_SESSION */
1114 #define brlapi__writeText(handle, cursor, str) brlapi__writeTextWin(handle, cursor, str, 0)
1115 
1116 #ifndef BRLAPI_NO_SINGLE_SESSION
1117 #define brlapi_write(s) brlapi_writeWin(s, 0)
1118 #endif /* BRLAPI_NO_SINGLE_SESSION */
1119 #define brlapi__write(handle, s) brlapi__writeWin(handle, s, 0)
1120 
1121 #endif /* UNICODE */
1122 #endif /* BRLAPI_WIN32 */
1123 
1124 #ifndef BRLAPI_NO_DEPRECATED
1125 
1137 #define brlapi_settings_t brlapi_connectionSettings_t
1138 
1140 typedef struct {
1142  unsigned int regionBegin;
1143  unsigned int regionSize;
1144  char *text;
1146  unsigned char *attrAnd;
1147  unsigned char *attrOr;
1148  int cursor;
1149  char *charset;
1151 #define BRLAPI_WRITESTRUCT_INITIALIZER BRLAPI_WRITEARGUMENTS_INITIALIZER
1152 
1153 #define brl_keycode_t brlapi_keyCode_t
1154 #define brl_type_t brlapi_packetType_t
1155 
1156 #define BRLCOMMANDS NULL
1157 #define BRL_KEYCODE_MAX BRLAPI_KEY_MAX
1158 
1159 #ifndef BRLAPI_NO_SINGLE_SESSION
1160 #define brlapi_initializeConnection brlapi_openConnection
1161 #define brlapi_getTty brlapi_enterTtyMode
1162 #define brlapi_getTtyPath brlapi_enterTtyModeWithPath
1163 #define brlapi_leaveTty brlapi_leaveTtyMode
1164 #define brlapi_unignoreKeyRange brlapi_acceptKeyRange
1165 #define brlapi_unignoreKeySet brlapi_acceptKeySet
1166 #define brlapi_getRaw brlapi_enterRawMode
1167 #define brlapi_leaveRaw brlapi_leaveRawMode
1168 #define brlapi_suspend brlapi_suspendDriver
1169 #define brlapi_resume brlapi_resumeDriver
1170 #endif /* BRLAPI_NO_SINGLE_SESSION */
1171 
1172 #define BRLERR_SUCCESS BRLAPI_ERROR_SUCCESS
1173 #define BRLERR_NOMEM BRLAPI_ERROR_NOMEM
1174 #define BRLERR_TTYBUSY BRLAPI_ERROR_TTYBUSY
1175 #define BRLERR_DEVICEBUSY BRLAPI_ERROR_DEVICEBUSY
1176 #define BRLERR_UNKNOWN_INSTRUCTION BRLAPI_ERROR_UNKNOWN_INSTRUCTION
1177 #define BRLERR_ILLEGAL_INSTRUCTION BRLAPI_ERROR_ILLEGAL_INSTRUCTION
1178 #define BRLERR_INVALID_PARAMETER BRLAPI_ERROR_INVALID_PARAMETER
1179 #define BRLERR_INVALID_PACKET BRLAPI_ERROR_INVALID_PACKET
1180 #define BRLERR_CONNREFUSED BRLAPI_ERROR_CONNREFUSED
1181 #define BRLERR_OPNOTSUPP BRLAPI_ERROR_OPNOTSUPP
1182 #define BRLERR_GAIERR BRLAPI_ERROR_GAIERR
1183 #define BRLERR_LIBCERR BRLAPI_ERROR_LIBCERR
1184 #define BRLERR_UNKNOWNTTY BRLAPI_ERROR_UNKNOWNTTY
1185 #define BRLERR_PROTOCOL_VERSION BRLAPI_ERROR_PROTOCOL_VERSION
1186 #define BRLERR_EOF BRLAPI_ERROR_EOF
1187 #define BRLERR_EMPTYKEY BRLAPI_ERROR_EMPTYKEY
1188 #define BRLERR_DRIVERERROR BRLAPI_ERROR_DRIVERERROR
1189 
1191 #endif /* BRLAPI_NO_DEPRECATED */
1192 
1193 #ifdef __cplusplus
1194 }
1195 #endif /* __cplusplus */
1196 
1197 #endif /* BRLAPI_INCLUDED */