4 * \brief Header: Low-level protocol for MCFS
6 * \todo FIXME: This protocol uses 32-bit integers for the communication.
7 * It is a problem on systems with large file support, which is now
8 * default. This means that lseek is broken unless --disable-largefile
9 * is used. 64-bit systems are probably broken even more.
12 #ifndef MC_VFS_MCFSUTIL_H
13 #define MC_VFS_MCFSUTIL_H
17 RPC_END
, /* End of RPC commands */
18 RPC_INT
, /* Next argument is integer */
19 RPC_STRING
, /* Next argument is a string */
20 RPC_BLOCK
, /* Next argument is a len/block */
21 RPC_LIMITED_STRING
/* same as STRING, but has a size limit */
24 int rpc_get (int sock
, ...);
25 int rpc_send (int sock
, ...);
26 int socket_read_block (int sock
, char *dest
, int len
);
27 int socket_write_block (int sock
, const char *buffer
, int len
);