Ticket #1916: non-vfs build fixups
[free-mc.git] / vfs / mcfsutil.h
blob9e1d89902e1de6daaef72097d06e6632d717214e
2 /**
3 * \file
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
16 enum {
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);
29 #endif