1// rpc.h
2
3#ifndef _BETALK_H_
4#include "beCompat.h"
5#include "betalk.h"
6#endif
7
8bt_inPacket *btRPCSimpleCall(unsigned int serverIP, int port, bt_outPacket *outPacket);
9int btRPCConnect(unsigned int serverIP, int port);
10bool btRPCSend(int session, bt_outPacket *outPacket);
11bool btRPCCheckSignature(int session);
12void btDestroyInPacket(bt_inPacket *packet);
13bt_outPacket *btRPCPutHeader(unsigned char command, unsigned char argc, int32 length);
14void btRPCPutArg(bt_outPacket *packet, unsigned int type, void *data, int length);
15
16void btRPCCreateAck(bt_outPacket *packet, unsigned int xid, int error, int length);
17void btRPCSendAck(int client, bt_outPacket *packet);
18unsigned char btRPCGetChar(bt_inPacket *packet);
19unsigned int btRPCGetInt32(bt_inPacket *packet);
20int64 btRPCGetInt64(bt_inPacket *packet);
21char *btRPCGetNewString(bt_inPacket *packet);
22int btRPCGetString(bt_inPacket *packet, char *buffer, int length);
23void btRPCGrowPacket(bt_outPacket *packet, int bytes);
24void btRPCPutChar(bt_outPacket *packet, char value);
25void btRPCPutInt32(bt_outPacket *packet, int32 value);
26void btRPCPutInt64(bt_outPacket *packet, int64 value);
27void btRPCPutString(bt_outPacket *packet, char *buffer, int length);
28void btRPCPutBinary(bt_outPacket *packet, void *buffer, int length);
29void btRPCPutHandle(bt_outPacket *packet, btFileHandle *fhandle);
30int btRPCGetStat(bt_inPacket *packet, struct stat *st);
31void btRPCPutStat(bt_outPacket *packet, struct stat *st);
32
33int btRecv(int sock, void *data, int dataLen, int flags);
34int btSend(int sock, void *data, int dataLen, int flags);
35