This file is indexed.

/usr/include/aqbanking5/aqbanking/provider.h is in libaqbanking-dev 5.6.12-1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/***************************************************************************
 $RCSfile$
 -------------------
 cvs         : $Id$
 begin       : Mon Mar 01 2004
 copyright   : (C) 2004 by Martin Preuss
 email       : martin@libchipcard.de

 ***************************************************************************
 * This file is part of the project "AqBanking".                           *
 * Please see toplevel file COPYING of that project for license details.   *
 ***************************************************************************/

/** @file aqbanking/provider.h
 * @short This file is used by AqBanking and provider backends.
 */


#ifndef AQBANKING_PROVIDER_H
#define AQBANKING_PROVIDER_H


#include <gwenhywfar/misc.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/xml.h>
#include <aqbanking/error.h> /* for AQBANKING_API */


#define AB_PROVIDER_FLAGS_COMPLETE_DAY_REPORTS 0x00000001


#ifdef __cplusplus
extern "C" {
#endif

typedef struct AB_PROVIDER AB_PROVIDER;
GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_PROVIDER, AQBANKING_API)

typedef struct AB_PROVIDER_DESCRIPTION AB_PROVIDER_DESCRIPTION;
GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_PROVIDER_DESCRIPTION, AQBANKING_API)
GWEN_LIST_FUNCTION_LIB_DEFS(AB_PROVIDER_DESCRIPTION, AB_ProviderDescription,
                            AQBANKING_API)
GWEN_LIST2_FUNCTION_LIB_DEFS(AB_PROVIDER_DESCRIPTION, AB_ProviderDescription,
                             AQBANKING_API)

#ifdef __cplusplus
}
#endif


#include <aqbanking/banking.h>
#include <aqbanking/error.h>
#include <aqbanking/job.h>
#include <aqbanking/account.h>
#include <aqbanking/transaction.h>


#ifdef __cplusplus
extern "C" {
#endif

/** @addtogroup G_AB_PROVIDER
 *
 * @brief This group represents backends. (Don't use in applications)
 *
 * <p>
 * (<i>Provider</i> is simply another word for <i>backend</i>.)
 * </p>
 *
 * <p>
 * Functions in this group <b>MUST NEVER</b> be used by applications or
 * depending libraries ! They may only be called by AqBanking or a provider
 * on its own.
 * </p>
 *
 * <p>
 * Writing an online banking provider for AqBanking is easy. There are only
 * a few callback functions which must be set by the provider (marked as
 * <i>Virtual Functions</i> below).
 * </p>
 *
 * <p>
 * The work of a provider is based on jobs (see @ref AB_JOB).
 * AqBanking also works based on jobs. If the application wants to create
 * a job AqBanking calls the function @ref AB_Provider_UpdateJob. This
 * function lets the provider prepare some parameters for the job given (e.g.
 * the maximum number of purpose lines for transfer jobs etc). These limits
 * are used by applications when preparing a job.
 * </p>
 * <p>
 * If the application is finished preparing the job it calls
 * @ref AB_Banking_EnqueueJob. After the application has enqueued all jobs
 * it calls @ref AB_Banking_ExecuteQueue. This function now sends all jobs
 * to their respective providers using @ref AB_Provider_AddJob. When all
 * jobs for a given provider are added AqBanking calls
 * @ref AB_Provider_Execute on this provider. This functions really sends the
 * jobs to the bank server or creates DTAUS discs or whatever the provider is
 * supposed to do.
 * After that AqBanking calls @ref AB_Provider_ResetQueue to make sure no job
 * is left in the providers queue after execution.
 * </p>
 * <p>
 * Another base class used between AqBanking and providers is @ref AB_ACCOUNT.
 * An account stores a reference to its associated provider.
 * When executing @ref AB_Banking_Init AqBanking calls the provider function
 * @ref AB_Provider_ExtendAccount on every account to let the backend
 * initialize the account.
 * </p>
 * <p>
 * It is the same with @ref AB_USER.
 * </p>
 */
/*@{*/

/**
 * Returns the name of the backend (e.g. "aqhbci").
 */
AQBANKING_API
const char *AB_Provider_GetName(const AB_PROVIDER *pro);

/**
 * Returns the escaped name of the backend. This is needed when using the
 * name of the backend to form a file path.
 */
AQBANKING_API
const char *AB_Provider_GetEscapedName(const AB_PROVIDER *pro);
/** 
 * Returns the Banking object that this Provider belongs to. 
 */
AQBANKING_API
AB_BANKING *AB_Provider_GetBanking(const AB_PROVIDER *pro);


AQBANKING_API
uint32_t AB_Provider_GetFlags(const AB_PROVIDER *pro);

/**
 * This copies the name of the folder for AqBanking's backend data into
 * the given GWEN_Buffer. This folder is reserved for this backend.
 * Please note that this folder does not necessarily exist, but the backend
 * is free to create it.
 * @return 0 if ok, error code otherwise (see @ref AB_ERROR)
 * @param pro pointer to the provider object
 * @param buf buffer to append the path name to
 */
AQBANKING_API
int AB_Provider_GetUserDataDir(const AB_PROVIDER *pro, GWEN_BUFFER *buf);


/*@}*/ /* defgroup */

#ifdef __cplusplus
}
#endif




#endif /* AQBANKING_PROVIDER_H */