API C/C
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
get_rt_logs.c

Ejemplo de recepción de registros en tiempo real.

Véase la nota sobre ejemplos.
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <dinamo.h> /* header do Dinamo */
#define HOST_ADDR "127.0.0.1"
#define USER_ID "maestro"
#define USER_PWD "12345678"
dinamo#define FILE_NAME "./ .log"
int AAP_API ReceiveLogsCallback(char *szEvent, void * pParam, BOOL bFinal)
{
int nRet = 0;
FILE *pFile = (FILE *)pParam;
if (pArchivo){
nRet = fprintf(pFichero, "%s\n", szEvento);
//Imprime o registro também na console
nRet = fprintf(stdout, "%s\n", szEvento);
}
si (bFinal){
fclose(pArchivo);
pArchivo = NULL;
}
devolver nRet;
}
int main()
{
int nRet;
struct AUTH_PWD authPwd;
HSESSIONCTX hSession = NULL;
FILE *pArchivo = NULL;
//Inicializa as bibliotecas do <%HSM_NAME%>
nRet = DInitialize(0);
si (nRet){
printf("Fallo de función: DInicializar \nCódigo de error: %d\n",nRet);
ir a limpiar;
}
printf("Bibliotecas inicializadas.\n");
//Inicializa a estrutura para conexão com o HSM
strncpy(authPwd.szAddr, HOST_ADDR, sizeof(authPwd.szAddr));
authPwd.nPort = DEFAULT_PORT;
strncpy(authPwd.szUserId, USER_ID, sizeof(authPwd.szUserId));
strncpy(authPwd.szContraseña, USER_PWD, sizeof(authPwd.szContraseña));
nRet = DOpenSession(&hSession, SS_USER_PWD,(BYTE *)&authPwd, sizeof(authPwd), ENCRYPTED_CONN);
si (nRet){
printf("Fallo de función: DOpenSession \nCódigo de error: %d\n",nRet);
ir a limpiar;
}
printf("Sesión con HSM establecida.\n");
pFile = fopen(NOMBRE_FICHERO, "wt");
si (pArchivo == NULL){
printf("Fallo de función: fopen\n");
ir a limpiar;
}
printf("----INICIO----");
nRet = DGetLogEvents(hSession, ReceiveLogsCallback, pFile);
si (nRet){
printf("Function failed: DGetLogEvents \nCódigo de error: %d\n",nRet);
ir a limpiar;
}
printf("----FIM----");
limpia:
if (pArchivo){
fclose(pArchivo);
printf("Archivo de registro cerrado.\n");
}
if (hSession) {
DCloseSession(&hSession, 0);
printf("Sesión cerrada.\n");
}
printf("Bibliotecas finalizadas.\n");
devolver nRet;
}
Interfaz de programación de aplicaciones (API) de HSM Dinamo.
int BOOL
Definición dinamo.h:49
void * HSESSIONCTX
Definición dinamo.h:68
#define PUERTO_DEFAULT
Definición dinamo.h:1948
unsigned char BYTE
Definición dinamo.h:45
#define AAP_API
Definición dinamo.h:42
#define ENCRYPTED_CONN
dinamoDefinición.h:585
#define SS_USER_PWD
dinamoDefinición.h:576
int AAP_API DGetLogEvents(HSESSIONCTX hSession, funcLogEventCallback fncallback, void *pParam)
int AAP_API DOpenSession(HSESSIONCTX *phSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DCloseSession(HSESSIONCTX *phSession, DWORD dwFlags)
int AAP_API DInitialize(DWORD dwReserved)
int AAP_API DFinalize()
Definición dinamo.h:3089