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