ole32: Update storage header saving code based on the latest MS spec.
[wine] / dlls / ctapi32 / ctapi.h
1 /*
2  * CT-API library for the REINER SCT cyberJack pinpad/e-com USB.
3  * Copyright (C) 2001  REINER SCT
4  * Author: Matthias Bruestle
5  * Support: support@reiner-sct.com
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21 #ifndef H_CTAPI
22 #define H_CTAPI
23
24 /* More unique defines */
25
26 #define CT_API_AD_HOST          2
27 #define CT_API_AD_REMOTE        5
28
29 #define CT_API_AD_CT            1
30 #define CT_API_AD_ICC1          0
31 #define CT_API_AD_ICC2          2
32 #define CT_API_AD_ICC3          3
33 #define CT_API_AD_ICC4          4
34 #define CT_API_AD_ICC5          5
35 #define CT_API_AD_ICC6          6
36 #define CT_API_AD_ICC7          7
37 #define CT_API_AD_ICC8          8
38 #define CT_API_AD_ICC9          9
39 #define CT_API_AD_ICC10         10
40 #define CT_API_AD_ICC11         11
41 #define CT_API_AD_ICC12         12
42 #define CT_API_AD_ICC13         13
43 #define CT_API_AD_ICC14         14
44
45 #define CT_API_RV_OK            0
46 #define CT_API_RV_ERR_INVALID   -1
47 #define CT_API_RV_ERR_CT        -8
48 #define CT_API_RV_ERR_TRANS     -10
49 #define CT_API_RV_ERR_MEMORY    -11
50 #define CT_API_RV_ERR_HOST      -127
51 #define CT_API_RV_ERR_HTSI      -128
52
53 /* MUSCLE style defines */
54
55 #define OK                       0      /* Success */
56 #define ERR_INVALID             -1      /* Invalid Data */
57 #define ERR_CT                  -8      /* CT Error */
58 #define ERR_TRANS               -10     /* Transmission Error */
59 #define ERR_MEMORY              -11     /* Memory Allocate Error */
60 #define ERR_HOST                -127    /* Host Error */
61 #define ERR_HTSI                -128    /* HTSI Error */
62
63 #define PORT_COM1               0       /* COM 1 */
64 #define PORT_COM2               1       /* COM 2 */
65 #define PORT_COM3               2       /* COM 3 */
66 #define PORT_COM4               3       /* COM 4 */
67 #define PORT_Printer            4       /* Printer Port (MAC) */
68 #define PORT_Modem              5       /* Modem Port (MAC)   */
69 #define PORT_LPT1               6       /* LPT 1 */
70 #define PORT_LPT2               7       /* LPT 2 */
71
72 #define CT                      1
73 #define HOST                    2
74
75 /* Short */
76 #define CJ_CTAPI_MAX_LENC       4+1+255+1
77 #define CJ_CTAPI_MAX_LENR       256+2
78 /* Extended */
79 /* #define CJ_CTAPI_MAX_LENC    5+2+65535+2 */
80 /* #define CJ_CTAPI_MAX_LENR    65536+2 */
81 /* Maximum for CTAPI */
82 /* #define CJ_CTAPI_MAX_LENC    65535 */
83 /* #define CJ_CTAPI_MAX_LENR    65535 */
84
85
86 typedef unsigned char IU8;
87 typedef unsigned short IU16;
88
89 typedef signed char IS8;
90 typedef signed short IS16;
91
92 #ifdef __cplusplus
93 extern "C" {
94 #endif /* __cplusplus */
95
96 IS8 CT_init( IU16 ctn, IU16 pn );
97 IS8 CT_data( IU16 ctn, IU8 *dad, IU8 *sad, IU16 lenc, IU8 *command, IU16 *lenr,
98         IU8 *response );
99 IS8 CT_close( IU16 ctn );
100
101 /* Proprietary extension */
102 IS8 CT_keycb( IU16 ctn, void (* cb)(IU16 ctn, IU8 status) );
103
104 #ifdef __cplusplus
105 }
106 #endif /* __cplusplus */
107 #endif /* H_CTAPI */