ERiC API-Referenz 43.3.2.0

Lade ...
Suche ...
Keine Treffer
Datenstrukturen | Typdefinitionen | Aufzählungen
eric_types.h-Dateireferenz

Definition von Datenstrukturen und Datentypen. Mehr ...

`#include "platform.h"`
Include-Abhängigkeitsdiagramm für eric_types.h:
Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

## Datenstrukturen
struct | eric_druck_parameter_t
| Diese Struktur enthält alle für den Druck notwendigen Informationen. Mehr ...
struct | eric_verschluesselungs_parameter_t
| Für die Signatur oder Authentifizierung benötigte Informationen. Mehr ...
struct | eric_zertifikat_parameter_t
| Struktur mit Informationen zur Erzeugung von Zertifikaten mit EricCreateKey(). Mehr ...

## Typdefinitionen
typedef struct EricInstanz * | EricInstanzHandle
| Handle auf eine ERiC-Instanz.
typedef char | byteChar
| Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet. Zum Beispiel: Pfade.
typedef uint32_t | EricZertifikatHandle
| Integer-Typ für Zertifikat-Handles.
typedef uint32_t | EricTransferHandle
| Das EricTransferHandle wird beim Anwendungsfall "Datenabholung" der API-Funktion EricBearbeiteVorgang() übergeben.
typedef struct EricReturnBufferApi * | EricRueckgabepufferHandle
| Handle zur Verwaltung und Verwendung von Rückgabepuffern.
typedef int(* | EricPdfCallback) (const char *pdfBezeichner, const BYTE *pdfDaten, uint32_t pdfGroesse, void *benutzerDaten)
| Typ der Callback-Funktion zur Übergabe eines PDFs an die Anwendung.
typedef void(* | EricLogCallback) (const char *kategorie, eric_log_level_t loglevel, const char *nachricht, void *benutzerdaten)
| Typ der Callback-Funktion zum Logging.
typedef void(* | EricFortschrittCallback) (uint32_t id, uint32_t pos, uint32_t max, void *benutzerdaten)
| Typ der Callback-Funktionen, die am ERiC für Fortschrittanzeigen registriert werden können.

## Aufzählungen
enum | eric_bearbeitung_flag_t { ERIC_VALIDIERE = 1L << 1 , ERIC_SENDE = 1L << 2 , ERIC_DRUCKE = 1L << 5 , ERIC_PRUEFE_HINWEISE = 1L << 7 , ERIC_VALIDIERE_OHNE_FREIGABEDATUM = 1L << 8 }
| Bearbeitungsflags für die Anwendungsfälle von EricBearbeiteVorgang(). Mehr ...
enum | eric_log_level_t { ERIC_LOG_ERROR = 4 , ERIC_LOG_WARN = 3 , ERIC_LOG_INFO = 2 , ERIC_LOG_DEBUG = 1 , ERIC_LOG_TRACE = 0 }
enum | { ERIC_FORTSCHRITTCALLBACK_ID_EINLESEN = 10 , ERIC_FORTSCHRITTCALLBACK_ID_VORBEREITEN = 20 , ERIC_FORTSCHRITTCALLBACK_ID_VALIDIEREN = 30 , ERIC_FORTSCHRITTCALLBACK_ID_SENDEN = 40 , ERIC_FORTSCHRITTCALLBACK_ID_DRUCKEN = 50 }

## Ausführliche Beschreibung

Definition von Datenstrukturen und Datentypen.

Definiert in Datei eric_types.h.

## Dokumentation der benutzerdefinierten Typen

## ◆ byteChar

typedef char byteChar

Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet. Zum Beispiel: Pfade.

Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet.

Definiert in Zeile 53 der Datei eric_types.h.

## ◆ EricFortschrittCallback

typedef void(* EricFortschrittCallback) (uint32_t id, uint32_t pos, uint32_t max, void *benutzerdaten)

Typ der Callback-Funktionen, die am ERiC für Fortschrittanzeigen registriert werden können.

Parameter

  id | Aktueller Verarbeitungsschritt
  pos | Aktueller Fortschritt bezogen auf `max`
  max | Maximalwert des aktuellen Fortschritts `pos`
  benutzerdaten | Der Zeiger, der bei der Registrierung mit EricRegistriereGlobalenFortschrittCallback() oder EricRegistriereFortschrittCallback() übergeben worden ist, wird in diesem Parameter vom ERiC unverändert übergeben.

Es gilt stets, dass:

- `pos` größer oder gleich 0 und kleiner oder gleich `max` ist
- `max` ist immer größer als 0

Definiert in Zeile 534 der Datei eric_types.h.

## ◆ EricInstanzHandle

typedef struct EricInstanz* EricInstanzHandle

Handle auf eine ERiC-Instanz.

ERiC-Instanzen werden von der Multithreading-API angelegt, verwendet und wieder freigegeben, siehe ericmtapi.h.

Alle API-Funktionen der Multithreading-API nehmen einen Zeiger auf eine ERiC-Instanz entgegen und verrichten ihre Aufgaben auf dieser ERiC-Instanz. Die EricInstanz enthält sämtliche veränderlichen Zustände des ERiC. Dies sind ERiC-Einstellungen, Plugin- und Log-Verzeichnis, Proxyeinstellungen, Zertifikatshandle, Rückgabepuffer, etc.

Es können mehrere ERiC-Instanzen parallel angelegt werden. Jede dieser ERiC-Instanzen ist unabhängig von allen anderen ERiC-Instanzen. Verfügen mehrere Threads jeweils über ihre eigene ERiC-Instanz, können sie diese parallel verwenden. Dazu müssen die Threads den API-Funktionen der Multithreading-API ihre jeweils eigene ERiC-Instanz übergeben.

ERiC-Instanzen sollten nicht für jede Verarbeitung eines Steuerfalls neu erstellt und konfiguriert werden. Siehe hierzu ERiC-Entwicklerhandbuch.pdf, Kap. "Hinweise zum optimierten Einsatz von ERiC-Instanzen und Plugins"

ERiC-Instanzen können zwischen Threads ausgetauscht werden. Eine ERiC-Instanz darf aber nicht in zwei Threads gleichzeitig verwendet werden.

Siehe auch
  - ERiC-Entwicklerhandbuch.pdf, Kap. "Hinweise zum optimierten Einsatz von ERiC-Instanzen und Plugins"
  - EricMtInstanzErzeugen()
  - EricMtInstanzFreigeben()

Definiert in Zeile 45 der Datei eric_types.h.

## ◆ EricLogCallback

typedef void(* EricLogCallback) (const char *kategorie, eric_log_level_t loglevel, const char *nachricht, void *benutzerdaten)

Typ der Callback-Funktion zum Logging.

Wenn registriert, wird diese Callback-Funktion für jeden Log-Eintrag mit folgenden Parametern aufgerufen.

Parameter

  kategorie | Kategorie des Logeintrags. Beinhaltet das Modul, welches den Log-Eintrag ausgibt. Zum Beispiel "eric.ctrl2". Kann zum Filtern verwendet werden. Alle Log-Nachrichten besitzen eine Kategorie. Der Zeiger ist nur innerhalb dieser Funktion gültig.
  loglevel | Log-Level des Logeintrags. Kann zum Filtern verwendet werden.
  nachricht | Enthält die Log-Nachricht als Zeichenkette. Der Zeiger ist nur innerhalb dieser Funktion gültig.
  benutzerdaten | Der Zeiger, der bei der Registrierung mit EricRegistriereLogCallback() übergeben worden ist, wird in diesem Parameter vom ERiC unverändert übergeben.

Siehe auch
  - EricRegistriereLogCallback()

Definiert in Zeile 472 der Datei eric_types.h.

## ◆ EricPdfCallback

typedef int(* EricPdfCallback) (const char *pdfBezeichner, const BYTE *pdfDaten, uint32_t pdfGroesse, void *benutzerDaten)

Typ der Callback-Funktion zur Übergabe eines PDFs an die Anwendung.

Wenn diese Callback-Funktion im `eric_druck_parameter_t` angegeben wird werden PDFs vom ERiC nicht in eine Datei geschrieben, sondern an diese Callback-Funktion übergeben.

Parameter

  [in] | pdfBezeichner | Bezeichner für das PDF. Für ein PDF, das Inhalte aus einem Nutzdatenblock enthält, wird hier das Nutzdatenticket aus dem Nutzdatenblock übergeben, für sonstige PDFs das Wort "Uebertragungsprotokoll". Bei der Erstellung mehrerer PDFs ermöglicht das Nutzdatenticket die Zuordnung eines PDFs zu einem bestimmten Nutzdatenblock.
  [in] | pdfDaten | Der Inhalt des PDFs. Zu beachten: es handelt sich um binäre Daten, die Nullbytes enthalten können.
  [in] | pdfGroesse | Die Größe der `pdfDaten` in Bytes.
  [in] | benutzerDaten | Der Datenzeiger, der dem ERiC von der Anwendung im `eric_druck_parameter_t` übergeben wurde.

Rückgabe
  - 0, wenn kein Fehler aufgetreten ist. Ein beliebiger Wert ungleich 0, wenn ein Fehler aufgetreten ist. Der zurückgegebene Wert wird im Fehlerfall in die Datei eric.log protokolliert.

Siehe auch
  - eric_druck_parameter_t
  - EricBearbeiteVorgang()

Definiert in Zeile 214 der Datei eric_types.h.

## ◆ EricRueckgabepufferHandle

typedef struct EricReturnBufferApi* EricRueckgabepufferHandle

Handle zur Verwaltung und Verwendung von Rückgabepuffern.

Viele ERiC API-Funktionen geben Informationen an ihren Aufrufer zurück, indem sie Daten in sogenannte Rückgabepuffer schreiben. Solche Rückgabepuffer müssen mit EricRueckgabepufferErzeugen() angelegt werden. Das bei dieser Erzeugung generierte Puffer-Handle wird vom Aufrufer an die API-Funktion übergeben, die den Puffer leert bevor sie dann in den Puffer schreibt. Ein einmal generiertes Puffer-Handle kann damit auch für mehrere aufeinanderfolgende Aufrufe von ERiC API-Funktionen wiederverwendet werden. Mittels EricRueckgabepufferLaenge() kann danach die Anzahl der in den Puffer geschriebenen Bytes ermittelt werden. Mit EricRueckgabepufferInhalt() kann der Pufferinhalt abgefragt werden. Jeder Rückgabepuffer muss nach seiner Verwendung mit EricRueckgabepufferFreigeben() wieder freigegeben werden.

Die Struktur EricReturnBufferApi kapselt die Rückgabepuffer-Implementierung. Anwender der ERiC API verwenden ausschließlich Zeiger auf Instanzen dieser Struktur und müssen daher deren Felder nicht kennen.

Rückgabepuffer sind der Singlethreading-API bzw. einer ERiC-Instanz der Multithreading-API fest zugeordnet. Die Funktionen der ERiC API, die einen Rückgabepuffer entgegennehmen, geben den Fehlercode ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ zurück, wenn der übergebene Rückgabepuffer:

- mit der Singlethreading-API erzeugt worden ist und dann mit der Multithreading-API verwendet wird
- mit der Multithreading-API erzeugt worden ist und dann mit der Singlethreading-API verwendet wird
- mit einer ERiC-Instanz erzeugt worden ist und dann mit einer anderen Instanz verwendet wird.

Siehe auch
  - ERiC-Entwicklerhandbuch.pdf, Kap. "Rückgabepuffer der ERiC Programmierschnittstelle"
  - EricRueckgabepufferErzeugen()
  - EricRueckgabepufferLaenge()
  - EricRueckgabepufferInhalt()
  - EricRueckgabepufferFreigeben()

Definiert in Zeile 175 der Datei eric_types.h.

## ◆ EricTransferHandle

typedef uint32_t EricTransferHandle

Das EricTransferHandle wird beim Anwendungsfall "Datenabholung" der API-Funktion EricBearbeiteVorgang() übergeben.

Es ist vom Aufrufer zu initialisieren und wird EricBearbeiteVorgang() als Zeiger übergeben. Es wird verwendet, um bei der Datenabholung mehrere Versandvorgänge zu bündeln. Dabei ist das Handle für den ersten Vorgang "Anfrage" mit dem Wert 0 zu initialisieren, bevor EricBearbeiteVorgang() aufgerufen wird. Das von EricBearbeiteVorgang() zurückgegebene Handle ist dann bei allen Folgevorgängen derselben Datenabholung unverändert wieder zu übergeben.

Wird bei einer Datenabholung NULL oder ein ungültiger Zeiger als Handle übergeben, gibt EricBearbeiteVorgang() den Fehlercode ERIC_GLOBAL_TRANSFERHANDLE zurück.

Bei allen Verfahren außer der Datenabholung sollte das Transferhandle beim Aufruf der EricBearbeiteVorgang() NULL sein. Wird bei solchen Verfahren ein Handle übergeben, so wird dieses ignoriert.

Definiert in Zeile 84 der Datei eric_types.h.

## ◆ EricZertifikatHandle

typedef uint32_t EricZertifikatHandle

Integer-Typ für Zertifikat-Handles.

Definiert in Zeile 59 der Datei eric_types.h.

## Dokumentation der Aufzählungstypen

## ◆ anonymous enum

anonymous enum

Aufzählungswerte
ERIC_FORTSCHRITTCALLBACK_ID_EINLESEN | `id`, die beim Einlesen des XMLs von Fortschrittcallbacks ausgegeben wird.
ERIC_FORTSCHRITTCALLBACK_ID_VORBEREITEN | `id`, die gemeldet wird, wenn die Daten zum Versand noch vorbereitet werden müssen.
ERIC_FORTSCHRITTCALLBACK_ID_VALIDIEREN | `id`, die beim Validieren der Eingangsdaten von Fortschrittcallbacks ausgegeben wird.
ERIC_FORTSCHRITTCALLBACK_ID_SENDEN | `id`, die beim Versand der Ausgangsdaten von Fortschrittcallbacks ausgegeben wird.
ERIC_FORTSCHRITTCALLBACK_ID_DRUCKEN | `id`, die beim Druck der Eingangsdaten von Fortschrittcallbacks ausgegeben wird.

Definiert in Zeile 478 der Datei eric_types.h.

## ◆ eric_bearbeitung_flag_t

enum eric_bearbeitung_flag_t

Bearbeitungsflags für die Anwendungsfälle von EricBearbeiteVorgang().

Welche Anwendungsfälle von der jeweiligen Datenart unterstützt werden, ist dem ERiC-Entwicklerhandbuch.pdf zu entnehmen.

Aufzählungswerte
ERIC_VALIDIERE | Der Datensatz soll validiert werden.
ERIC_SENDE | Der Datensatz soll an den ELSTER Annahmeserver versendet werden.
ERIC_DRUCKE | Der Datensatz soll gedruckt werden.
ERIC_PRUEFE_HINWEISE | Der Datensatz soll auf Hinweise hin geprüft werden.
ERIC_VALIDIERE_OHNE_FREIGABEDATUM | Der Datensatz soll validiert werden, ohne dabei die Prüfbedingung "ERiC_DV_Freigabedatum_pruefen" auszuführen. Dies ist nur möglich, wenn kein Versand stattfindet. Das Flag kann nicht zusammen mit ERIC_SENDE oder ERIC_VALIDIERE angegeben werden. Zu beachten Zur Prüfbedingung "ERiC_DV_Freigabedatum_pruefen" siehe das Dokument "Zusatzinformationen_zur_Plausibilitaetspruefung.pdf" im ERiC-Dokumentationspaket.

Definiert in Zeile 93 der Datei eric_types.h.

## ◆ eric_log_level_t

enum eric_log_level_t

eric_log_level_t ist ein Parameter für Funktionen vom Typ EricLogCallback. Der Loglevel kann zum Filtern für das ERiC Protokoll verwendet werden, siehe ERiC-Entwicklerhandbuch.pdf, Kap. "Das ERiC Protokoll eric.log".

Aufzählungswerte
ERIC_LOG_ERROR | Fehler, der zum Programmabbruch führt.
ERIC_LOG_WARN | Hinweise auf Zustände, die zu Fehlern führen können.
ERIC_LOG_INFO | Grobe Informationen über den Programmablauf und Werte.
ERIC_LOG_DEBUG | Feingranulare Informationen über den Programmablauf und Werte.
ERIC_LOG_TRACE | Sehr feingranulare Informationen über den Programmablauf und Werte.

Definiert in Zeile 432 der Datei eric_types.h.