aqbanking  5.7.8
Functions
HBCI User Extensions

HBCI-specific user functions. More...

Functions

AQHBCI_API const char * AH_User_GetTokenType (const AB_USER *u)
 
AQHBCI_API void AH_User_SetTokenType (AB_USER *u, const char *s)
 
AQHBCI_API const char * AH_User_GetTokenName (const AB_USER *u)
 
AQHBCI_API void AH_User_SetTokenName (AB_USER *u, const char *s)
 
AQHBCI_API uint32_t AH_User_GetTokenContextId (const AB_USER *u)
 
AQHBCI_API void AH_User_SetTokenContextId (AB_USER *u, uint32_t id)
 
AQHBCI_API int AH_User_GetMaxTransfersPerJob (const AB_USER *u)
 
AQHBCI_API void AH_User_SetMaxTransfersPerJob (AB_USER *u, int i)
 
AQHBCI_API int AH_User_GetMaxDebitNotesPerJob (const AB_USER *u)
 
AQHBCI_API void AH_User_SetMaxDebitNotesPerJob (AB_USER *u, int i)
 
AQHBCI_API void AH_User_SetBankPubKey (AB_USER *u, GWEN_CRYPT_KEY *bankPubKey)
 
AQHBCI_API GWEN_CRYPT_KEY * AH_User_GetBankPubKey (const AB_USER *u)
 
AQHBCI_API const char * AH_User_FindSepaDescriptor (AB_USER *u, const char *tmpl)
 

HBCI User Flags

#define AH_USER_FLAGS_BANK_DOESNT_SIGN   0x00000001
 
#define AH_USER_FLAGS_BANK_USES_SIGNSEQ   0x00000002
 
#define AH_USER_FLAGS_RESERVED1   0x00000004
 
#define AH_USER_FLAGS_RESERVED2   0x00000008
 
#define AH_USER_FLAGS_KEEPALIVE   0x00000010
 
#define AH_USER_FLAGS_IGNORE_UPD   0x00000020
 
#define AH_USER_FLAGS_FORCE_SSL3   0x00000040
 
#define AH_USER_FLAGS_NO_BASE64   0x00000080
 
#define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS   0x00000100
 
#define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT   0x00000200
 
#define AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS   0x00000400
 
#define AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET   0x00000800
 
#define AH_USER_FLAGS_TLS_IGN_PREMATURE_CLOSE   0x00001000
 

Functions for Flags and Status

enum  AH_USER_STATUS {
  AH_UserStatusNew =0, AH_UserStatusEnabled, AH_UserStatusPending, AH_UserStatusDisabled,
  AH_UserStatusUnknown =999
}
 
AQHBCI_API void AH_User_Flags_toDb (GWEN_DB_NODE *db, const char *name, uint32_t flags)
 
AQHBCI_API uint32_t AH_User_Flags_fromDb (GWEN_DB_NODE *db, const char *name)
 
AQHBCI_API const char * AH_User_Status_toString (AH_USER_STATUS st)
 
AQHBCI_API AH_USER_STATUS AH_User_Status_fromString (const char *s)
 
AQHBCI_API AH_USER_STATUS AH_User_GetStatus (const AB_USER *u)
 
AQHBCI_API void AH_User_SetStatus (AB_USER *u, AH_USER_STATUS i)
 
AQHBCI_API uint32_t AH_User_GetFlags (const AB_USER *u)
 
AQHBCI_API void AH_User_SetFlags (AB_USER *u, uint32_t flags)
 
AQHBCI_API void AH_User_AddFlags (AB_USER *u, uint32_t flags)
 
AQHBCI_API void AH_User_SubFlags (AB_USER *u, uint32_t flags)
 

PIN/TAN Specific Functions

AQHBCI_API const int * AH_User_GetTanMethodList (const AB_USER *u)
 
AQHBCI_API int AH_User_GetTanMethodCount (const AB_USER *u)
 
AQHBCI_API int AH_User_HasTanMethod (const AB_USER *u, int method)
 
AQHBCI_API int AH_User_HasTanMethodOtherThan (const AB_USER *u, int method)
 
AQHBCI_API void AH_User_AddTanMethod (AB_USER *u, int method)
 
AQHBCI_API void AH_User_ClearTanMethodList (AB_USER *u)
 
AQHBCI_API int AH_User_GetSelectedTanMethod (const AB_USER *u)
 
AQHBCI_API void AH_User_SetSelectedTanMethod (AB_USER *u, int i)
 
AQHBCI_API const char * AH_User_GetHttpContentType (const AB_USER *u)
 
AQHBCI_API void AH_User_SetHttpContentType (AB_USER *u, const char *s)
 

Miscellanous Settings

AQHBCI_API AH_CRYPT_MODE AH_User_GetCryptMode (const AB_USER *u)
 
AQHBCI_API void AH_User_SetCryptMode (AB_USER *u, AH_CRYPT_MODE m)
 
AQHBCI_API int AH_User_GetRdhType (const AB_USER *u)
 
AQHBCI_API void AH_User_SetRdhType (AB_USER *u, int i)
 
AQHBCI_API const char * AH_User_GetPeerId (const AB_USER *u)
 
AQHBCI_API void AH_User_SetPeerId (AB_USER *u, const char *s)
 
AQHBCI_API const char * AH_User_GetSystemId (const AB_USER *u)
 
AQHBCI_API void AH_User_SetSystemId (AB_USER *u, const char *s)
 
AQHBCI_API const GWEN_URL * AH_User_GetServerUrl (const AB_USER *u)
 
AQHBCI_API void AH_User_SetServerUrl (AB_USER *u, const GWEN_URL *url)
 
AQHBCI_API int AH_User_GetHbciVersion (const AB_USER *u)
 
AQHBCI_API void AH_User_SetHbciVersion (AB_USER *u, int i)
 
AQHBCI_API const char * AH_User_GetSepaTransferProfile (const AB_USER *u)
 
AQHBCI_API void AH_User_SetSepaTransferProfile (AB_USER *u, const char *profileName)
 
AQHBCI_API const char * AH_User_GetSepaDebitNoteProfile (const AB_USER *u)
 
AQHBCI_API void AH_User_SetSepaDebitNoteProfile (AB_USER *u, const char *profileName)
 

Pin/Tan Settings

AQHBCI_API int AH_User_GetHttpVMajor (const AB_USER *u)
 
AQHBCI_API void AH_User_SetHttpVMajor (AB_USER *u, int i)
 
AQHBCI_API int AH_User_GetHttpVMinor (const AB_USER *u)
 
AQHBCI_API void AH_User_SetHttpVMinor (AB_USER *u, int i)
 
AQHBCI_API const char * AH_User_GetHttpUserAgent (const AB_USER *u)
 
AQHBCI_API void AH_User_SetHttpUserAgent (AB_USER *u, const char *s)
 
AQHBCI_API const char * AH_User_GetTanMediumId (const AB_USER *u)
 
AQHBCI_API void AH_User_SetTanMediumId (AB_USER *u, const char *s)
 

Passwords/Pins/Tans

AQHBCI_API int AH_User_MkPasswdName (const AB_USER *u, GWEN_BUFFER *buf)
 
AQHBCI_API int AH_User_MkPinName (const AB_USER *u, GWEN_BUFFER *buf)
 
AQHBCI_API int AH_User_MkTanName (const AB_USER *u, const char *challenge, GWEN_BUFFER *buf)
 
AQHBCI_API const AH_TAN_METHOD_LISTAH_User_GetTanMethodDescriptions (AB_USER *u)
 

Detailed Description

HBCI-specific user functions.

Author
Martin Preussmarti.nosp@m.n@li.nosp@m.bchip.nosp@m.card.nosp@m..de

Macro Definition Documentation

◆ AH_USER_FLAGS_BANK_DOESNT_SIGN

#define AH_USER_FLAGS_BANK_DOESNT_SIGN   0x00000001

bank doesn't sign its messages

Definition at line 44 of file aqhbci/user.h.

◆ AH_USER_FLAGS_BANK_USES_SIGNSEQ

#define AH_USER_FLAGS_BANK_USES_SIGNSEQ   0x00000002

bank uses correct signature sequence counters for its messages

Definition at line 46 of file aqhbci/user.h.

◆ AH_USER_FLAGS_FORCE_SSL3

#define AH_USER_FLAGS_FORCE_SSL3   0x00000040

forces use of SSLv3 for Pin/TAN mode

Definition at line 58 of file aqhbci/user.h.

◆ AH_USER_FLAGS_IGNORE_UPD

#define AH_USER_FLAGS_IGNORE_UPD   0x00000020

this flag is set automatically by AqHBCI upon BPD/UPD receiption. It indicates that some jobs are supported even when there is no UPD job description for it

Definition at line 55 of file aqhbci/user.h.

◆ AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS

#define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS   0x00000100

Normally the SWIFT parser removed double blanks, with this flag set it no longer does (as requested by Andreas Filsinger).

Definition at line 66 of file aqhbci/user.h.

◆ AH_USER_FLAGS_KEEPALIVE

#define AH_USER_FLAGS_KEEPALIVE   0x00000010

for pin/tan mode: keep HTTP connections alive (reuse for multiple requests)

Definition at line 51 of file aqhbci/user.h.

◆ AH_USER_FLAGS_NO_BASE64

#define AH_USER_FLAGS_NO_BASE64   0x00000080

do not encode message in BASE64 (needed for APO bank)

Definition at line 61 of file aqhbci/user.h.

◆ AH_USER_FLAGS_RESERVED1

#define AH_USER_FLAGS_RESERVED1   0x00000004

Definition at line 47 of file aqhbci/user.h.

◆ AH_USER_FLAGS_RESERVED2

#define AH_USER_FLAGS_RESERVED2   0x00000008

Definition at line 48 of file aqhbci/user.h.

◆ AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT

#define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT   0x00000200

Some TAN jobs have a field for the account to be used to charge for SMS. This field is semi-optional (some banks need it, some need you not to use it). If this flag is set then the SMS account specification is omitted.

Definition at line 73 of file aqhbci/user.h.

◆ AH_USER_FLAGS_TLS_IGN_PREMATURE_CLOSE

#define AH_USER_FLAGS_TLS_IGN_PREMATURE_CLOSE   0x00001000

Definition at line 80 of file aqhbci/user.h.

◆ AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS

#define AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS   0x00000400

Definition at line 75 of file aqhbci/user.h.

◆ AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET

#define AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET   0x00000800

Definition at line 77 of file aqhbci/user.h.

Enumeration Type Documentation

◆ AH_USER_STATUS

Enumerator
AH_UserStatusNew 
AH_UserStatusEnabled 
AH_UserStatusPending 
AH_UserStatusDisabled 
AH_UserStatusUnknown 

Definition at line 97 of file aqhbci/user.h.

Function Documentation

◆ AH_User_AddFlags()

AQHBCI_API void AH_User_AddFlags ( AB_USER u,
uint32_t  flags 
)

◆ AH_User_AddTanMethod()

AQHBCI_API void AH_User_AddTanMethod ( AB_USER u,
int  method 
)

◆ AH_User_ClearTanMethodList()

AQHBCI_API void AH_User_ClearTanMethodList ( AB_USER u)

◆ AH_User_FindSepaDescriptor()

AQHBCI_API const char* AH_User_FindSepaDescriptor ( AB_USER u,
const char *  tmpl 
)

◆ AH_User_Flags_fromDb()

AQHBCI_API uint32_t AH_User_Flags_fromDb ( GWEN_DB_NODE *  db,
const char *  name 
)

◆ AH_User_Flags_toDb()

AQHBCI_API void AH_User_Flags_toDb ( GWEN_DB_NODE *  db,
const char *  name,
uint32_t  flags 
)

◆ AH_User_GetBankPubKey()

AQHBCI_API GWEN_CRYPT_KEY* AH_User_GetBankPubKey ( const AB_USER u)

◆ AH_User_GetCryptMode()

AQHBCI_API AH_CRYPT_MODE AH_User_GetCryptMode ( const AB_USER u)

Crypt mode (see AH_CryptMode_Ddv and following).

◆ AH_User_GetFlags()

AQHBCI_API uint32_t AH_User_GetFlags ( const AB_USER u)

Returns 0 if the bank doesn't sign messages, 1 otherwise. This can be used in case the bank sends a sign key upon request but never signs it's messages.

◆ AH_User_GetHbciVersion()

AQHBCI_API int AH_User_GetHbciVersion ( const AB_USER u)

◆ AH_User_GetHttpContentType()

AQHBCI_API const char* AH_User_GetHttpContentType ( const AB_USER u)

◆ AH_User_GetHttpUserAgent()

AQHBCI_API const char* AH_User_GetHttpUserAgent ( const AB_USER u)

◆ AH_User_GetHttpVMajor()

AQHBCI_API int AH_User_GetHttpVMajor ( const AB_USER u)

Returns the major HTTP version to be used in PIN/TAN mode (defaults to 1).

◆ AH_User_GetHttpVMinor()

AQHBCI_API int AH_User_GetHttpVMinor ( const AB_USER u)

Returns the minor HTTP version to be used in PIN/TAN mode (defaults to 1).

◆ AH_User_GetMaxDebitNotesPerJob()

AQHBCI_API int AH_User_GetMaxDebitNotesPerJob ( const AB_USER u)

◆ AH_User_GetMaxTransfersPerJob()

AQHBCI_API int AH_User_GetMaxTransfersPerJob ( const AB_USER u)

◆ AH_User_GetPeerId()

AQHBCI_API const char* AH_User_GetPeerId ( const AB_USER u)

◆ AH_User_GetRdhType()

AQHBCI_API int AH_User_GetRdhType ( const AB_USER u)

◆ AH_User_GetSelectedTanMethod()

AQHBCI_API int AH_User_GetSelectedTanMethod ( const AB_USER u)

◆ AH_User_GetSepaDebitNoteProfile()

AQHBCI_API const char* AH_User_GetSepaDebitNoteProfile ( const AB_USER u)

◆ AH_User_GetSepaTransferProfile()

AQHBCI_API const char* AH_User_GetSepaTransferProfile ( const AB_USER u)

◆ AH_User_GetServerUrl()

AQHBCI_API const GWEN_URL* AH_User_GetServerUrl ( const AB_USER u)

◆ AH_User_GetStatus()

AQHBCI_API AH_USER_STATUS AH_User_GetStatus ( const AB_USER u)

◆ AH_User_GetSystemId()

AQHBCI_API const char* AH_User_GetSystemId ( const AB_USER u)

◆ AH_User_GetTanMediumId()

AQHBCI_API const char* AH_User_GetTanMediumId ( const AB_USER u)

◆ AH_User_GetTanMethodCount()

AQHBCI_API int AH_User_GetTanMethodCount ( const AB_USER u)

◆ AH_User_GetTanMethodDescriptions()

AQHBCI_API const AH_TAN_METHOD_LIST* AH_User_GetTanMethodDescriptions ( AB_USER u)

The list returned is only valid until the next call to this function!

◆ AH_User_GetTanMethodList()

AQHBCI_API const int* AH_User_GetTanMethodList ( const AB_USER u)

◆ AH_User_GetTokenContextId()

AQHBCI_API uint32_t AH_User_GetTokenContextId ( const AB_USER u)

◆ AH_User_GetTokenName()

AQHBCI_API const char* AH_User_GetTokenName ( const AB_USER u)

◆ AH_User_GetTokenType()

AQHBCI_API const char* AH_User_GetTokenType ( const AB_USER u)

◆ AH_User_HasTanMethod()

AQHBCI_API int AH_User_HasTanMethod ( const AB_USER u,
int  method 
)

◆ AH_User_HasTanMethodOtherThan()

AQHBCI_API int AH_User_HasTanMethodOtherThan ( const AB_USER u,
int  method 
)

◆ AH_User_MkPasswdName()

AQHBCI_API int AH_User_MkPasswdName ( const AB_USER u,
GWEN_BUFFER *  buf 
)

◆ AH_User_MkPinName()

AQHBCI_API int AH_User_MkPinName ( const AB_USER u,
GWEN_BUFFER *  buf 
)

◆ AH_User_MkTanName()

AQHBCI_API int AH_User_MkTanName ( const AB_USER u,
const char *  challenge,
GWEN_BUFFER *  buf 
)

◆ AH_User_SetBankPubKey()

AQHBCI_API void AH_User_SetBankPubKey ( AB_USER u,
GWEN_CRYPT_KEY *  bankPubKey 
)

◆ AH_User_SetCryptMode()

AQHBCI_API void AH_User_SetCryptMode ( AB_USER u,
AH_CRYPT_MODE  m 
)

◆ AH_User_SetFlags()

AQHBCI_API void AH_User_SetFlags ( AB_USER u,
uint32_t  flags 
)

◆ AH_User_SetHbciVersion()

AQHBCI_API void AH_User_SetHbciVersion ( AB_USER u,
int  i 
)

◆ AH_User_SetHttpContentType()

AQHBCI_API void AH_User_SetHttpContentType ( AB_USER u,
const char *  s 
)

◆ AH_User_SetHttpUserAgent()

AQHBCI_API void AH_User_SetHttpUserAgent ( AB_USER u,
const char *  s 
)

◆ AH_User_SetHttpVMajor()

AQHBCI_API void AH_User_SetHttpVMajor ( AB_USER u,
int  i 
)

◆ AH_User_SetHttpVMinor()

AQHBCI_API void AH_User_SetHttpVMinor ( AB_USER u,
int  i 
)

◆ AH_User_SetMaxDebitNotesPerJob()

AQHBCI_API void AH_User_SetMaxDebitNotesPerJob ( AB_USER u,
int  i 
)

◆ AH_User_SetMaxTransfersPerJob()

AQHBCI_API void AH_User_SetMaxTransfersPerJob ( AB_USER u,
int  i 
)

◆ AH_User_SetPeerId()

AQHBCI_API void AH_User_SetPeerId ( AB_USER u,
const char *  s 
)

◆ AH_User_SetRdhType()

AQHBCI_API void AH_User_SetRdhType ( AB_USER u,
int  i 
)

◆ AH_User_SetSelectedTanMethod()

AQHBCI_API void AH_User_SetSelectedTanMethod ( AB_USER u,
int  i 
)

◆ AH_User_SetSepaDebitNoteProfile()

AQHBCI_API void AH_User_SetSepaDebitNoteProfile ( AB_USER u,
const char *  profileName 
)

◆ AH_User_SetSepaTransferProfile()

AQHBCI_API void AH_User_SetSepaTransferProfile ( AB_USER u,
const char *  profileName 
)

◆ AH_User_SetServerUrl()

AQHBCI_API void AH_User_SetServerUrl ( AB_USER u,
const GWEN_URL *  url 
)

◆ AH_User_SetStatus()

AQHBCI_API void AH_User_SetStatus ( AB_USER u,
AH_USER_STATUS  i 
)

◆ AH_User_SetSystemId()

AQHBCI_API void AH_User_SetSystemId ( AB_USER u,
const char *  s 
)

◆ AH_User_SetTanMediumId()

AQHBCI_API void AH_User_SetTanMediumId ( AB_USER u,
const char *  s 
)

◆ AH_User_SetTokenContextId()

AQHBCI_API void AH_User_SetTokenContextId ( AB_USER u,
uint32_t  id 
)

◆ AH_User_SetTokenName()

AQHBCI_API void AH_User_SetTokenName ( AB_USER u,
const char *  s 
)

◆ AH_User_SetTokenType()

AQHBCI_API void AH_User_SetTokenType ( AB_USER u,
const char *  s 
)

◆ AH_User_Status_fromString()

AQHBCI_API AH_USER_STATUS AH_User_Status_fromString ( const char *  s)

◆ AH_User_Status_toString()

AQHBCI_API const char* AH_User_Status_toString ( AH_USER_STATUS  st)

◆ AH_User_SubFlags()

AQHBCI_API void AH_User_SubFlags ( AB_USER u,
uint32_t  flags 
)