aqbanking  5.7.8
aqhbci/user.h
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Mar 01 2004
3  copyright : (C) 2004-2013 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifndef AH_USER_H
11 #define AH_USER_H
12 
13 #include <aqhbci/aqhbci.h>
14 #include <aqhbci/tanmethod.h>
15 #include <gwenhywfar/misc.h>
16 #include <gwenhywfar/stringlist.h>
17 #include <gwenhywfar/cryptkeyrsa.h>
18 
19 
27 
28 #include <aqbanking/user.h>
29 
30 #include <gwenhywfar/db.h>
31 #include <gwenhywfar/url.h>
32 
33 
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
44 #define AH_USER_FLAGS_BANK_DOESNT_SIGN 0x00000001
45 
46 #define AH_USER_FLAGS_BANK_USES_SIGNSEQ 0x00000002
47 #define AH_USER_FLAGS_RESERVED1 0x00000004
48 #define AH_USER_FLAGS_RESERVED2 0x00000008
49 
51 #define AH_USER_FLAGS_KEEPALIVE 0x00000010
52 
55 #define AH_USER_FLAGS_IGNORE_UPD 0x00000020
56 
58 #define AH_USER_FLAGS_FORCE_SSL3 0x00000040
59 
61 #define AH_USER_FLAGS_NO_BASE64 0x00000080
62 
66 #define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS 0x00000100
67 
73 #define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT 0x00000200
74 
75 #define AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS 0x00000400
76 
77 #define AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET 0x00000800
78 
79 /* ignore error "GNUTLS_E_PREMATURE_TERMINATION" */
80 #define AH_USER_FLAGS_TLS_IGN_PREMATURE_CLOSE 0x00001000
81 
89 
91 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name,
92  uint32_t flags);
94 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name);
95 
96 
97 typedef enum {
108 
109 
114 
121 uint32_t AH_User_GetFlags(const AB_USER *u);
122 
124 void AH_User_SetFlags(AB_USER *u, uint32_t flags);
125 
127 void AH_User_AddFlags(AB_USER *u, uint32_t flags);
128 
130 void AH_User_SubFlags(AB_USER *u, uint32_t flags);
131 
132 
140 
142 const int *AH_User_GetTanMethodList(const AB_USER *u);
144 int AH_User_GetTanMethodCount(const AB_USER *u);
146 int AH_User_HasTanMethod(const AB_USER *u, int method);
148 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method);
150 void AH_User_AddTanMethod(AB_USER *u, int method);
153 
157 void AH_User_SetSelectedTanMethod(AB_USER *u, int i);
158 
159 
161 const char *AH_User_GetHttpContentType(const AB_USER *u);
163 void AH_User_SetHttpContentType(AB_USER *u, const char *s);
164 
170 const char *AH_User_GetTokenType(const AB_USER *u);
172 void AH_User_SetTokenType(AB_USER *u, const char *s);
174 const char *AH_User_GetTokenName(const AB_USER *u);
176 void AH_User_SetTokenName(AB_USER *u, const char *s);
178 uint32_t AH_User_GetTokenContextId(const AB_USER *u);
180 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id);
181 
182 
183 
195 
197 int AH_User_GetRdhType(const AB_USER *u);
198 
200 void AH_User_SetRdhType(AB_USER *u, int i);
201 
203 const char *AH_User_GetPeerId(const AB_USER *u);
205 void AH_User_SetPeerId(AB_USER *u, const char *s);
206 
208 const char *AH_User_GetSystemId(const AB_USER *u);
210 void AH_User_SetSystemId(AB_USER *u, const char *s);
211 
212 
214 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u);
216 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url);
217 
218 
220 int AH_User_GetHbciVersion(const AB_USER *u);
222 void AH_User_SetHbciVersion(AB_USER *u, int i);
223 
224 
226 const char *AH_User_GetSepaTransferProfile(const AB_USER *u);
228 void AH_User_SetSepaTransferProfile(AB_USER *u, const char *profileName);
230 const char *AH_User_GetSepaDebitNoteProfile(const AB_USER *u);
232 void AH_User_SetSepaDebitNoteProfile(AB_USER *u, const char *profileName);
245 int AH_User_GetHttpVMajor(const AB_USER *u);
247 void AH_User_SetHttpVMajor(AB_USER *u, int i);
248 
253 int AH_User_GetHttpVMinor(const AB_USER *u);
255 void AH_User_SetHttpVMinor(AB_USER *u, int i);
256 
257 
258 
260 const char *AH_User_GetHttpUserAgent(const AB_USER *u);
262 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s);
263 
264 
266 const char *AH_User_GetTanMediumId(const AB_USER *u);
267 
269 void AH_User_SetTanMediumId(AB_USER *u, const char *s);
270 
271 
279 
281 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf);
282 
284 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf);
285 
287 int AH_User_MkTanName(const AB_USER *u,
288  const char *challenge,
289  GWEN_BUFFER *buf);
290 
296 
297 
305 
306 AQHBCI_API void AH_User_SetBankPubKey(AB_USER *u, GWEN_CRYPT_KEY *bankPubKey);
307 AQHBCI_API GWEN_CRYPT_KEY * AH_User_GetBankPubKey(const AB_USER *u);
308 
309 
310 AQHBCI_API const char *AH_User_FindSepaDescriptor(AB_USER *u, const char *tmpl);
311 
312  /* defgroup */
314 
315 #ifdef __cplusplus
316 }
317 #endif
318 
319 #endif /* AH_USER_H */
320 
321 
322 
323 
324 
325 
AQHBCI_API void AH_User_SetHttpUserAgent(AB_USER *u, const char *s)
struct AB_USER AB_USER
AQHBCI_API void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url)
AQHBCI_API void AH_User_AddTanMethod(AB_USER *u, int method)
AQHBCI_API void AH_User_SetTokenType(AB_USER *u, const char *s)
AQHBCI_API const char * AH_User_GetSepaTransferProfile(const AB_USER *u)
AQHBCI_API void AH_User_SetMaxDebitNotesPerJob(AB_USER *u, int i)
AQHBCI_API const char * AH_User_Status_toString(AH_USER_STATUS st)
AQHBCI_API AH_CRYPT_MODE AH_User_GetCryptMode(const AB_USER *u)
AQHBCI_API void AH_User_SetTokenName(AB_USER *u, const char *s)
AQHBCI_API const char * AH_User_GetHttpUserAgent(const AB_USER *u)
AQHBCI_API void AH_User_SetTokenContextId(AB_USER *u, uint32_t id)
AQHBCI_API void AH_User_SetCryptMode(AB_USER *u, AH_CRYPT_MODE m)
AQHBCI_API int AH_User_GetMaxDebitNotesPerJob(const AB_USER *u)
AQHBCI_API int AH_User_HasTanMethod(const AB_USER *u, int method)
AQHBCI_API int AH_User_GetHbciVersion(const AB_USER *u)
AQHBCI_API void AH_User_SetPeerId(AB_USER *u, const char *s)
AQHBCI_API int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf)
AQHBCI_API int AH_User_GetTanMethodCount(const AB_USER *u)
AQHBCI_API int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method)
AQHBCI_API void AH_User_SetHttpVMinor(AB_USER *u, int i)
AQHBCI_API void AH_User_SetHbciVersion(AB_USER *u, int i)
AQHBCI_API uint32_t AH_User_GetFlags(const AB_USER *u)
AQHBCI_API void AH_User_SetSelectedTanMethod(AB_USER *u, int i)
AQHBCI_API void AH_User_SetBankPubKey(AB_USER *u, GWEN_CRYPT_KEY *bankPubKey)
AQHBCI_API int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf)
AQHBCI_API void AH_User_SetHttpVMajor(AB_USER *u, int i)
AQHBCI_API int AH_User_GetMaxTransfersPerJob(const AB_USER *u)
AQHBCI_API void AH_User_AddFlags(AB_USER *u, uint32_t flags)
AQHBCI_API AH_USER_STATUS AH_User_GetStatus(const AB_USER *u)
AQHBCI_API const char * AH_User_FindSepaDescriptor(AB_USER *u, const char *tmpl)
AH_CRYPT_MODE
Definition: aqhbci.h:58
AQHBCI_API uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name)
AQHBCI_API const int * AH_User_GetTanMethodList(const AB_USER *u)
#define AQHBCI_API
Definition: aqhbci.h:48
AQHBCI_API void AH_User_SetSepaDebitNoteProfile(AB_USER *u, const char *profileName)
AQHBCI_API void AH_User_SetRdhType(AB_USER *u, int i)
AQHBCI_API int AH_User_GetHttpVMajor(const AB_USER *u)
AQHBCI_API int AH_User_GetSelectedTanMethod(const AB_USER *u)
AQHBCI_API void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t flags)
AQHBCI_API AH_USER_STATUS AH_User_Status_fromString(const char *s)
AQHBCI_API const char * AH_User_GetTanMediumId(const AB_USER *u)
AQHBCI_API void AH_User_SubFlags(AB_USER *u, uint32_t flags)
AQHBCI_API int AH_User_MkTanName(const AB_USER *u, const char *challenge, GWEN_BUFFER *buf)
AQHBCI_API void AH_User_ClearTanMethodList(AB_USER *u)
AQHBCI_API GWEN_CRYPT_KEY * AH_User_GetBankPubKey(const AB_USER *u)
AQHBCI_API int AH_User_GetRdhType(const AB_USER *u)
AQHBCI_API uint32_t AH_User_GetTokenContextId(const AB_USER *u)
AH_USER_STATUS
Definition: aqhbci/user.h:97
AQHBCI_API const GWEN_URL * AH_User_GetServerUrl(const AB_USER *u)
AQHBCI_API const char * AH_User_GetTokenName(const AB_USER *u)
AQHBCI_API const char * AH_User_GetSepaDebitNoteProfile(const AB_USER *u)
AQHBCI_API void AH_User_SetHttpContentType(AB_USER *u, const char *s)
AQHBCI_API void AH_User_SetTanMediumId(AB_USER *u, const char *s)
AQHBCI_API const char * AH_User_GetPeerId(const AB_USER *u)
AQHBCI_API void AH_User_SetSystemId(AB_USER *u, const char *s)
AQHBCI_API const char * AH_User_GetHttpContentType(const AB_USER *u)
AQHBCI_API const char * AH_User_GetTokenType(const AB_USER *u)
AQHBCI_API void AH_User_SetMaxTransfersPerJob(AB_USER *u, int i)
AQHBCI_API void AH_User_SetSepaTransferProfile(AB_USER *u, const char *profileName)
AQHBCI_API void AH_User_SetStatus(AB_USER *u, AH_USER_STATUS i)
AQHBCI_API const char * AH_User_GetSystemId(const AB_USER *u)
AQHBCI_API int AH_User_GetHttpVMinor(const AB_USER *u)
AQHBCI_API void AH_User_SetFlags(AB_USER *u, uint32_t flags)
AQHBCI_API const AH_TAN_METHOD_LIST * AH_User_GetTanMethodDescriptions(AB_USER *u)