hsmCommunicator.hΒΆ

/**
        hsmCommunicator.h

        This file automatically generated by FSMLang
*/

#ifndef _HSMCOMMUNICATOR_H_
#define _HSMCOMMUNICATOR_H_

#include "hsmCommunicator_events.h"
#ifndef HSM_COMMUNICATOR_NATIVE_PROLOG
#define HSM_COMMUNICATOR_NATIVE_PROLOG

#ifndef DBG_PRINTF
#include <stdio.h>
#define DBG_PRINTF(...) printf(__VA_ARGS__); printf("\n");
#endif

typedef enum
{
    msg_none
    , msg_step0_response
    , msg_step1_response
    , msg_session_rejected
    , msg_ack
} msg_e_t;

typedef struct _queue_str_
{
    unsigned queue_count;
} queue_str_t;


#endif
#define FSM_VERSION "1.45.1"

#ifndef NO_CONVENIENCE_MACROS
#undef UFMN
#define UFMN(A) hsmCommunicator_##A
#undef THIS
#define THIS(A) hsmCommunicator_##A
#endif
#undef STATE
#define STATE(A) hsmCommunicator_##A
#undef HSM_COMMUNICATOR
#define HSM_COMMUNICATOR(A) hsmCommunicator_##A
#undef ESTABLISH_SESSION
#define ESTABLISH_SESSION(A) hsmCommunicator_establishSession_##A
#undef SEND_MESSAGE
#define SEND_MESSAGE(A) hsmCommunicator_sendMessage_##A

#undef ACTION_RETURN_TYPE
#define ACTION_RETURN_TYPE HSM_COMMUNICATOR_EVENT_ENUM
typedef struct _hsmCommunicator_MESSAGE_RECEIVED_data_ {
    msg_e_t message;
} HSM_COMMUNICATOR_MESSAGE_RECEIVED_DATA, *pHSM_COMMUNICATOR_MESSAGE_RECEIVED_DATA;

typedef union {
    HSM_COMMUNICATOR_MESSAGE_RECEIVED_DATA MESSAGE_RECEIVED_data;
} HSM_COMMUNICATOR_EVENT_DATA, *pHSM_COMMUNICATOR_EVENT_DATA;

typedef struct {
    HSM_COMMUNICATOR_EVENT_ENUM event;
    HSM_COMMUNICATOR_EVENT_DATA event_data;
} HSM_COMMUNICATOR_EVENT, *pHSM_COMMUNICATOR_EVENT;


void run_hsmCommunicator(pHSM_COMMUNICATOR_EVENT);

typedef struct _hsmCommunicator_struct_ *pHSM_COMMUNICATOR;
extern pHSM_COMMUNICATOR phsmCommunicator;


#endif