Projekt | libs/mr_cs2ms2 |
---|---|
Library | libmr_cs2ms2.a |
Includedatei | mr_cs2ms2.h |
typedef struct { unsigned long Id; unsigned char Dlc; /* = number of data bytes */ unsigned char Data[MR_CS2_NUM_CAN_BYTES]; BOOL IsCs2; unsigned Hash; /* in network order */ unsigned Response; unsigned Command; unsigned Prio; } MrCs2CanDataType;
#define MR_CS2_NUM_CAN_BYTES 8
#define MrCs2IsCs2(CanData) (CanData)->IsCs2 #define MrCs2GetCommand(CanData) (CanData)->Command #define MrCs2GetSystemSubcmd(CanData) (CanData)->Data[4] #define MrCs2SetCommand(CanData,Cmd) (CanData)->Command=Cmd #define MrCs2SetSystemSubcmd(CanData,SubCmd) (CanData)->Data[4]=SubCmd #define MrCs2GetId(CanData) (CanData)->Id #define MrCs2SetId(CanData,id) (CanData)->Id=id #define MrCs2GetDlc(CanData) (CanData)->Dlc #define MrCs2SetDlc(CanData,dlc) (CanData)->Dlc=dlc #define MrCs2GetIsCs2(CanData) (CanData)->IsCs2 #define MrCs2SetIsCs2(CanData,is_cs2) (CanData)->IsCs2=is_cs2 #define MrCs2GetHash(CanData) (CanData)->Hash #define MrCs2SetHash(CanData,hash) (CanData)->Hash=hash #define MrCs2GetResponse(CanData) (CanData)->Response #define MrCs2SetResponse(CanData,response) (CanData)->Response=response #define MrCs2GetPrio(CanData) (CanData)->Prio #define MrCs2SetPrio(CanData,prio) (CanData)->Prio=prio #define MrCs2GetData(CanData) (CanData)->Data
#define MR_CS2_UDP_LOCAL_PORT 15731 #define MR_CS2_UDP_REMOTE_PORT 15730 #define MR_CS2_UDP_LENGTH 13
#define MR_ETH_CS2_RCV_ERROR -1 #define MR_ETH_CS2_RCV_CLOSED 0 #define MR_ETH_CS2_RCV_OK 1
#define MrEthCs2Close(socket) close(socket)
void MrEthCs2Encode(char *UdpFrame, MrCs2CanDataType *CanMsg); void MrEthCs2Decode(MrCs2CanDataType *CanMsg, char *UdpFrame); int MrEthCs2StartServer(void); int MrEthCs2StartBcServer(void); int MrEthCs2StartAppServer(void); int MrEthCs2Accept(int ServSock); void MrEthCs2MkBcAddr(struct sockaddr_in *baddr, char *IpAddr); int MrEthCs2Recv(int Socket, struct sockaddr_in *ClntAddr, char *Data); void MrEthCs2SendTo(int Socket, struct sockaddr_in *baddr, char *Data); void MrEthCs2Send(int Socket, char *Data); int MrEthCs2ConnectClient(void); int MrEthCs2ConnectTcpClient(struct sockaddr_in *UdpSrvAddr); void MrCs2Decode(MrCs2CanDataType *CanMsg, struct can_frame *CanFrame); void MrCs2Encode(MrCs2CanDataType *CanMsg, struct can_frame *CanFrame); void MrCs2DumpCanMsg(MrCs2CanDataType *CanMsg, char *Info); void MrCs2Trace(MrCs2CanDataType *CanMsg);