3.42 DM_InstallWSINetHandler

Mit dieser Funktion der DM-Schnittstelle werden die benutzerdefinierten Funktionen, in denen die Verschlüsselungssoftware aufgerufen wird, registriert.

Diese Funktion muss in AppMain vor DM_Initialize aufgerufen werden.

Resultatwert und Parameter der benutzerdefinierten Funktionen sind vorgegeben.

DM_Boolean DML_default DM_EXPORT DM_InstallWSINetHandler
(
  DM_WSINetFunctions *wsinetfunctions,
  DM_Uint Operation,
  DM_Options Options
)

Parameter

-> DM_WSINetFunctions *wsinetfunctions

Struktur, die die Funktionszeiger auf die benutzerdefinierten Funktionen enthält. Sie hat folgende Form:

DM_WSINetFunctions

{

  DMAcceptProc,

  DM_SessionProc,

  DM_ShutDownProc,

  DM_OpenProc,

  DM_CloseProc,

  DM_SendProc,

  DM_ExistsMessageProc,

  DM_RecvProc,

  DM_FreeWarningProc

}

Die einzelnen Funktionstypen haben folgende Form:

int <name of DM_AcceptProc function>
    (int serverfd, void *cliaddr, void *addrlen, char *message)

void * <name of DM_SessionProc function>
    (int clientfd, void *support, char *message)

void <name of DM_ShutDownProc function>()

int <name of DM_OpenProc function
    (int *port, void **supportptr, char *message, char **warning)

int <name of DM_CloseProc function>
    (void *connptr, int *clientfd, char *message)

int <name of DM_SendProc function>
    (void *connptr, char *buffer, int length, char message)

int <name of DM_ExistsMessageProc function>
    (void *connptr, char *message)

int <name of DM_Recv function>
    (void *connptr, char *buffer, int count, char *message)

void <name of DM_FreeWarningProc function>
    (char *warning)

-> DM_Uint Operation

Eine von den zwei vordefinierten Konstanten:

  1. DMF_RegisterHandler zum Registrieren der benutzerdefinierten Funktionen.
  2. DMF_WithdrawHandler zum Deregistrieren der benutzerdefinierten Funktionen.

-> DM_Options Options

Wird nicht benutzt und ist mit 0 vorzubelegen.

Rückgabewert

TRUE

Für DMF_RegisterHandler: Funktionen konnten registriert werden.

Für DMF_WithdrawHandler: Rückgabewert immer = TRUE.

FALSE

Für DMF_RegisterHandler: Funktionen konnten nicht registriert werden.

3.42.1 Benutzerdefinierte Funktionen

Beschreibung der einzelnen Funktionen:

DM_AcceptProc

Akzeptiert eine Verbindung zu einem Client.

DM_SessionProc

Gibt den Descriptor des Clients als Rückgabewert void * aus.

Setzt Parameter für die Client-Session.

DM_ShutDownProc

Nimmt Abschlussaktionen vor beim Schließen der Verbindung.

DM_OpenProc

Konfiguriert den Socket und öffnet ihn.

DM_CloseProc

Schließt die Verbindung.

DM_SendProc

Sendet eine Message an den Client.

DM_ExistsMessage

Überprüft, ob der Client eine Message geschickt hat.

DM_RecvProc

Liest eine Message, die vom Client geschickt wurde.

DM_FreeWarningProc

Gibt Speicherplatz, der in DM_OpenProc für den Parameter warning allokiert wurde, frei.

Reihenfolge des Aufrufs ist normalerweise

  1. DM_OpenProc function
  2. DM_FreeWarningProc function
  3. DM_AcceptProc function
  4. DM_SessionProc function
  5. DM_SendProc function, DM_Recv function, DM_ExistsMessageProc function im Wechsel
  6. DM_CloseProc function
  7. DM_ShutDownProc function

Falls eine eigene Verschlüsselung mit Hilfe der benutzerdefinierten Funktionen verwirklicht werden soll, muss beim Benutzen der Parameter als Ein- und Ausgabe die vom IDM vorgegebene Reihenfolge der Aufrufe berücksichtigt werden.