aqbanking  5.7.8
aqebics.h
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Mar 01 2004
3  copyright : (C) 2004 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 
11 #ifndef AQEBICS_AQEBICS_H
12 #define AQEBICS_AQEBICS_H
13 
14 
15 
16 #include <aqbanking/system.h>
17 #include <gwenhywfar/types.h>
18 
19 
20 #ifdef BUILDING_AQEBICS
21 # /* building AqEBICS */
22 # if AQBANKING_SYS_IS_WINDOWS
23 # /* for windows */
24 # ifdef __declspec
25 # define AQEBICS_API __declspec (dllexport)
26 # else /* if __declspec */
27 # define AQEBICS_API
28 # endif /* if NOT __declspec */
29 # else
30 # /* for non-win32 */
31 # ifdef GCC_WITH_VISIBILITY_ATTRIBUTE
32 # define AQEBICS_API __attribute__((visibility("default")))
33 # else
34 # define AQEBICS_API
35 # endif
36 # endif
37 #else
38 # /* not building AqEBICS */
39 # if AQBANKING_SYS_IS_WINDOWS
40 # /* for windows */
41 # ifdef __declspec
42 # define AQEBICS_API __declspec (dllimport)
43 # else /* if __declspec */
44 # define AQEBICS_API
45 # endif /* if NOT __declspec */
46 # else
47 # /* for non-win32 */
48 # define AQEBICS_API
49 # endif
50 #endif
51 
52 
53 #define EBC_PROVIDER_NAME "AQEBICS"
54 
55 #define AQEBICS_LOGDOMAIN "aqebics"
56 
57 #define EBICS_BUFFER_MAX_HARD_LIMIT (256*1024*1024)
58 
59 typedef uint32_t EB_RC;
60 
61 
62 #define AQEBIC_RC_GET_CLASS(x) ((x>>4) & 0xff)
63 #define AQEBIC_RC_GET_GRP(x) ((x>>2) & 0xf)
64 #define AQEBIC_RC_GET_CODE(x) (x & 0xff)
65 
66 #define AQEBIC_RC_CLASS_INFO 0
67 #define AQEBIC_RC_CLASS_NOTICE 1
68 #define AQEBIC_RC_CLASS_WARNING 3
69 #define AQEBIC_RC_CLASS_ERROR 6
70 #define AQEBIC_RC_CLASS_FATAL 9
71 
72 #define AQEBICS_RC_IS_INFO(x) (AQEBIC_RC_GET_CLASS(x)==AQEBIC_RC_CLASS_INFO)
73 #define AQEBICS_RC_IS_NOTICE(x) (AQEBIC_RC_GET_CLASS(x)==AQEBIC_RC_CLASS_NOTICE)
74 #define AQEBICS_RC_IS_WARNING(x) (AQEBIC_RC_GET_CLASS(x)==AQEBIC_RC_CLASS_WARNING)
75 #define AQEBICS_RC_IS_ERROR(x) (AQEBIC_RC_GET_CLASS(x)==AQEBIC_RC_CLASS_ERROR)
76 #define AQEBICS_RC_IS_FATAL(x) (AQEBIC_RC_GET_CLASS(x)==AQEBIC_RC_CLASS_FATAL)
77 
78 #define AQEBICS_RC_GRP_NONE 0
79 #define AQEBICS_RC_GRP_TRANS 1
80 #define AQEBICS_RC_GRP_KEY 2
81 #define AQEBICS_RC_GRP_PRE 3
82 
83 #define AQEBICS_RC_NEW(class, grp, code) \
84  (((class & 0xff)<<4) |\
85  0x1000 | \
86  ((grp & 0xf)<<2) |\
87  (code & 0xff))
88 
89 
90 #define EB_RC_OK 0x000000
91 #define EB_RC_DOWNLOAD_POSTPROCESS_DONE 0x011000
92 #define EB_RC_DOWNLOAD_POSTPROCESS_SKIPPED 0x011001
93 #define EB_RC_TX_SEGMENT_NUMBER_UNDERRUN 0x011101
94 #define EB_RC_AUTHENTICATION_FAILED 0x061001
95 #define EB_RC_INVALID_REQUEST 0x061002
96 #define EB_RC_INTERNAL_ERROR 0x061099
97 #define EB_RC_TX_RECOVERY_SYNC 0x061101
98 #define EB_RC_INVALID_USER_OR_STATE 0x091002
99 #define EB_RC_USER_UNKNOWN 0x091003
100 #define EB_RC_INVALID_USER_STATE 0x091004
101 #define EB_RC_INVALID_ORDER_TYPE 0x091005
102 #define EB_RC_UNSUPPORTED_ORDER_TYPE 0x091006
103 #define EB_RC_USER_AUTHENTICATION_REQUIRED 0x091007
104 #define EB_RC_BANK_PUBKEY_UPDATE_REQUIRED 0x091008
105 #define EB_RC_SEGMENT_SIZE_EXCEEDED 0x091009
106 #define EB_RC_TX_UNKNOWN_TXID 0x091101
107 #define EB_RC_TX_ABORT 0x091102
108 #define EB_RC_TX_MESSAGE_REPLAY 0x091103
109 #define EB_RC_TX_SEGMENT_NUMBER_EXCEEDED 0x091104
110 #define EB_RC_AUTHORISATION_FAILED 0x090003
111 #define EB_RC_NO_DOWNLOAD_DATA_AVAILABLE 0x090005
112 
113 
114 /* fachliche codes (key management) */
115 #define EB_RC_KEYMGMT_UNSUPPORTED_VERSION_SIGNATURE 0x091201
116 #define EB_RC_KEYMGMT_UNSUPPORTED_VERSION_AUTHENTICATION 0x091202
117 #define EB_RC_KEYMGMT_UNSUPPORTED_VERSION_ENCRYPTION 0x091203
118 #define EB_RC_KEYMGMT_KEYLENGTH_ERROR_SIGNATURE 0x091204
119 #define EB_RC_KEYMGMT_KEYLENGTH_ERROR_AUTHENTICATION 0x091205
120 #define EB_RC_KEYMGMT_KEYLENGTH_ERROR_ENCRYPTION 0x091206
121 #define EB_RC_KEYMGMT_NO_X509_SUPPORT 0x091207
122 
123 #endif
124 
125 
uint32_t EB_RC
Definition: aqebics.h:59