aqbanking  5.6.12
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 
18 
26 
27 #include <aqbanking/user.h>
28 
29 #include <gwenhywfar/db.h>
30 #include <gwenhywfar/url.h>
31 
32 
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
43 #define AH_USER_FLAGS_BANK_DOESNT_SIGN 0x00000001
44 
45 #define AH_USER_FLAGS_BANK_USES_SIGNSEQ 0x00000002
46 #define AH_USER_FLAGS_RESERVED1 0x00000004
47 #define AH_USER_FLAGS_RESERVED2 0x00000008
48 
50 #define AH_USER_FLAGS_KEEPALIVE 0x00000010
51 
54 #define AH_USER_FLAGS_IGNORE_UPD 0x00000020
55 
57 #define AH_USER_FLAGS_FORCE_SSL3 0x00000040
58 
60 #define AH_USER_FLAGS_NO_BASE64 0x00000080
61 
65 #define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS 0x00000100
66 
72 #define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT 0x00000200
73 
74 #define AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS 0x00000400
75 
76 #define AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET 0x00000800
77 
78 /* ignore error "GNUTLS_E_PREMATURE_TERMINATION" */
79 #define AH_USER_FLAGS_TLS_IGN_PREMATURE_CLOSE 0x00001000
80 
88 
90 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name,
91  uint32_t flags);
93 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name);
94 
95 
96 typedef enum {
107 
108 
113 
120 uint32_t AH_User_GetFlags(const AB_USER *u);
121 
123 void AH_User_SetFlags(AB_USER *u, uint32_t flags);
124 
126 void AH_User_AddFlags(AB_USER *u, uint32_t flags);
127 
129 void AH_User_SubFlags(AB_USER *u, uint32_t flags);
130 
131 
139 
141 const int *AH_User_GetTanMethodList(const AB_USER *u);
143 int AH_User_GetTanMethodCount(const AB_USER *u);
145 int AH_User_HasTanMethod(const AB_USER *u, int method);
147 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method);
149 void AH_User_AddTanMethod(AB_USER *u, int method);
152 
156 void AH_User_SetSelectedTanMethod(AB_USER *u, int i);
157 
158 
160 const char *AH_User_GetHttpContentType(const AB_USER *u);
162 void AH_User_SetHttpContentType(AB_USER *u, const char *s);
163 
169 const char *AH_User_GetTokenType(const AB_USER *u);
171 void AH_User_SetTokenType(AB_USER *u, const char *s);
173 const char *AH_User_GetTokenName(const AB_USER *u);
175 void AH_User_SetTokenName(AB_USER *u, const char *s);
177 uint32_t AH_User_GetTokenContextId(const AB_USER *u);
179 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id);
180 
181 
182 
194 
196 int AH_User_GetRdhType(const AB_USER *u);
197 
199 void AH_User_SetRdhType(AB_USER *u, int i);
200 
202 const char *AH_User_GetPeerId(const AB_USER *u);
204 void AH_User_SetPeerId(AB_USER *u, const char *s);
205 
207 const char *AH_User_GetSystemId(const AB_USER *u);
209 void AH_User_SetSystemId(AB_USER *u, const char *s);
210 
211 
213 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u);
215 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url);
216 
217 
219 int AH_User_GetHbciVersion(const AB_USER *u);
221 void AH_User_SetHbciVersion(AB_USER *u, int i);
222 
223 
225 const char *AH_User_GetSepaTransferProfile(const AB_USER *u);
227 void AH_User_SetSepaTransferProfile(AB_USER *u, const char *profileName);
229 const char *AH_User_GetSepaDebitNoteProfile(const AB_USER *u);
231 void AH_User_SetSepaDebitNoteProfile(AB_USER *u, const char *profileName);
244 int AH_User_GetHttpVMajor(const AB_USER *u);
246 void AH_User_SetHttpVMajor(AB_USER *u, int i);
247 
252 int AH_User_GetHttpVMinor(const AB_USER *u);
254 void AH_User_SetHttpVMinor(AB_USER *u, int i);
255 
256 
257 
259 const char *AH_User_GetHttpUserAgent(const AB_USER *u);
261 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s);
262 
263 
265 const char *AH_User_GetTanMediumId(const AB_USER *u);
266 
268 void AH_User_SetTanMediumId(AB_USER *u, const char *s);
269 
270 
278 
280 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf);
281 
283 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf);
284 
286 int AH_User_MkTanName(const AB_USER *u,
287  const char *challenge,
288  GWEN_BUFFER *buf);
289 
295 
296 
304 
305 
306 
307 AQHBCI_API const char *AH_User_FindSepaDescriptor(AB_USER *u, const char *tmpl);
308 
309  /* defgroup */
311 
312 #ifdef __cplusplus
313 }
314 #endif
315 
316 #endif /* AH_USER_H */
317 
318 
319 
320 
321 
322 
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 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 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:96
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)