If I have the C struct below, that is used as argument type for a C function I want to import via Crystal’s “Lib”:
nf_init(const char * driverName, NF_EventHandler * pHandler);
How am I supposed to define all the function pointers in the struct in Crystal, found nothing searching. Any kind advice?
typedef struct _NF_EventHandler
{
void (NFAPI_CC *threadStart)();
void (NFAPI_CC *threadEnd)();
void (NFAPI_CC *tcpConnectRequest)(ENDPOINT_ID id, PNF_TCP_CONN_INFO pConnInfo);
void (NFAPI_CC *tcpConnected)(ENDPOINT_ID id, PNF_TCP_CONN_INFO pConnInfo);
void (NFAPI_CC *tcpClosed)(ENDPOINT_ID id, PNF_TCP_CONN_INFO pConnInfo);
void (NFAPI_CC *tcpReceive)(ENDPOINT_ID id, const char * buf, int len);
void (NFAPI_CC *tcpSend)(ENDPOINT_ID id, const char * buf, int len);
void (NFAPI_CC *tcpCanReceive)(ENDPOINT_ID id);
void (NFAPI_CC *tcpCanSend)(ENDPOINT_ID id);
void (NFAPI_CC *udpCreated)(ENDPOINT_ID id, PNF_UDP_CONN_INFO pConnInfo);
void (NFAPI_CC *udpConnectRequest)(ENDPOINT_ID id, PNF_UDP_CONN_REQUEST pConnReq);
void (NFAPI_CC *udpClosed)(ENDPOINT_ID id, PNF_UDP_CONN_INFO pConnInfo);
void (NFAPI_CC *udpReceive)(ENDPOINT_ID id, const unsigned char * remoteAddress, const char * buf, int len, PNF_UDP_OPTIONS options);
void (NFAPI_CC *udpSend)(ENDPOINT_ID id, const unsigned char * remoteAddress, const char * buf, int len, PNF_UDP_OPTIONS options);
void (NFAPI_CC *udpCanReceive)(ENDPOINT_ID id);
void (NFAPI_CC *udpCanSend)(ENDPOINT_ID id);
} NF_EventHandler, *PNF_EventHandler;