#ifndef _RPMSG_SOCKET_H
#define _RPMSG_SOCKET_H
#include <stdint.h>
#include "rpmsg.h"
typedef struct _rpmsg_socket rpmsg_socket;
typedef struct _rpmsg_socket_fun_table rpmsg_socket_fun_table;
struct _rpmsg_socket
{
rpmsg_socket_fun_table *table;
sock_rpmsg_t rpmsgSend;
sock_rpmsg_t rpmsgReceive;
};
struct _rpmsg_socket_fun_table
{
int (*pcreate)(rpmsg_socket *self,int procId, int endpt, int channelType,sock_rpmsg_t *ptr);
int (*psend)(rpmsg_socket *self,int sock, void *buff,int len);
int (*preceive)(rpmsg_socket *self,sock_rpmsg_t *ptr,void *buff,int size);
int (*pclose)(rpmsg_socket *self);
};
void RPMSGSOCKET_constructor(rpmsg_socket *self);
void RPMSGSOCKET_destructor(rpmsg_socket *self);
int gcreate(rpmsg_socket *self,int procId, int endpt, int channelType,sock_rpmsg_t *ptr);
int gsend(rpmsg_socket *self,int sock, void *buff,int len);
int greceive(rpmsg_socket *self,sock_rpmsg_t *ptr,void *buff,int size);
int gclose(rpmsg_socket *self);
#endif