comparison src/cs/layer1/gtt_include/ctm/ucs_functions.h @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4e78acac3d88
1 /*
2 *******************************************************************************
3 *
4 * COPYRIGHT (C) 2000 BY ERICSSON EUROLAB DEUTSCHLAND GmbH
5 * 90411 NUERNBERG, GERMANY, Tel Int + 49 911 5217 100
6 *
7 * The program(s) may be used and/or copied only with the
8 * written permission from Ericsson or in accordance
9 * with the terms and conditions stipulated in the agreement or
10 * contract under which the program(s) have been supplied.
11 *
12 *******************************************************************************
13 *
14 * File : baudot_functions.h
15 * Author : EEDN/RV Matthias Doerbecker
16 * Tested Platforms : Windows NT 4.0
17 * Description : header file for ucs_functions.c
18 *
19 * Revision history
20 *
21 * $Log: $
22 *
23 *******************************************************************************
24 */
25 #ifndef ucs_functions_h
26 #define ucs_functions_h "$Id: $"
27
28 /*
29 *******************************************************************************
30 * INCLUDE FILES
31 *******************************************************************************
32 */
33
34 #include "fifo.h"
35
36 /*
37 *******************************************************************************
38 * DEFINITIONS
39 *******************************************************************************
40 */
41
42 /****************************************************************************/
43 /* convertChar2UCScode() */
44 /* ********************* */
45 /* Conversion from character into UCS code */
46 /* (Universal Multiple-Octet Coded Character Set, Row 00 */
47 /* of the Multilingual plane according to ISO/IEC 10646-1). */
48 /* This routine only handles characters in the range 0...255 since that is */
49 /* all that is required for the demonstration of Baudot support. */
50 /* */
51 /* input variables: */
52 /* - inChar charcater that shall be converted */
53 /* */
54 /* return value: UCS code of the input character */
55 /* or 0xFFFF in case that inChar is not valid */
56 /* (e.g. inChar=='\0') */
57 /* */
58 /* Matthias Doerbecker, Ericsson Eurolab Deutschland (EED/N/RV), 2000/09/18 */
59 /****************************************************************************/
60
61 UWORD16 convertChar2UCScode(char inChar);
62
63
64 /****************************************************************************/
65 /* convertUCScode2char() */
66 /* ********************* */
67 /* Conversion from UCS code into character */
68 /* This routine only handles characters in the range 0...255 since that is */
69 /* all that is required for the demonstration of Baudot support. */
70 /* */
71 /* input variables: */
72 /* - ucsCode UCS code index, */
73 /* must be within the range 0...255 if BITS_PER_SYMB==8, */
74 /* or in the range 0...63 if BITS_PER_SYMB==6, */
75 /* */
76 /* return value: character (or '\0' if ucsCode is not valid) */
77 /* */
78 /* Matthias Doerbecker, Ericsson Eurolab Deutschland (EED/N/RV), 2000/09/18 */
79 /****************************************************************************/
80
81 char convertUCScode2char(UWORD16 ucsCode);
82
83
84 /****************************************************************************/
85 /* transformUCS2UTF() */
86 /* ****************** */
87 /* Transformation from UCS code into UTF-8. UTF-8 is a sequence consisting */
88 /* of 1, 2, 3, or 5 octets (bytes). See ISO/IEC 10646-1 Annex G. */
89 /* */
90 /* This routine only handles UCS codes in the range 0...0xFF since that is */
91 /* all that is required for the demonstration of Baudot support. */
92 /* */
93 /* input variables: */
94 /* - ucsCode UCS code index, */
95 /* */
96 /* output variables: */
97 /* - ptr_octet_fifo_state pointer to the output fifo state buffer for */
98 /* the UTF-8 octets. */
99 /* */
100 /* Matthias Doerbecker, Ericsson Eurolab Deutschland (EED/N/RV), 2000/06/29 */
101 /****************************************************************************/
102
103 void transformUCS2UTF(UWORD16 ucsCode,
104 fifo_state_t* ptr_octet_fifo_state);
105
106
107 /****************************************************************************/
108 /* transformUTF2UCS() */
109 /* ****************** */
110 /* Transformation from UTF-8 into UCS code. */
111 /* */
112 /* This routine only handles UTF-8 sequences consisting of one or two */
113 /* octets (corresponding to UCS codes in the range 0...0xFF) since that is */
114 /* all that is required for the demonstration of Baudot support. */
115 /* */
116 /* input/output variables: */
117 /* - ptr_octet_fifo_state pointer to the input fifo state buffer for */
118 /* the UTF-8 octets. */
119 /* */
120 /* output variables: */
121 /* - *ptr_ucsCode UCS code index */
122 /* */
123 /* return value: */
124 /* true, if conversion was successful */
125 /* false, if the input fifo buffer didn't contain enough octets for a */
126 /* conversion into UCS code. The output variable *ptr_ucsCode */
127 /* doesn't contain a valid value in this case */
128 /* */
129 /* Matthias Doerbecker, Ericsson Eurolab Deutschland (EED/N/RV), 2000/06/29 */
130 /****************************************************************************/
131
132 BOOL transformUTF2UCS(UWORD16 *ptr_ucsCode,
133 fifo_state_t *ptr_octet_fifo_state);
134
135
136 #endif