
This commit beefs up the Makefile to do the build, instead of the Rakefile. It also removes from the Rakefile the dependency on rake_utils, which should mean it's ok to build in a schroot. The files are reorganised to make the Makefile rules more tractable, although the reorganisation reveals a problem with our current code organisation. The problem is that the proxy-specific code transitively depends on the server code via flexnbd.h, which has a circular dependency on the server and client structs. This should be broken in a future commit by separating the flexnbd struct into a shared config struct and server-specific parts, so that the server code can be moved into src/server to more accurately show the functional dependencies.
24 lines
760 B
C
24 lines
760 B
C
#ifndef READWRITE_H
|
|
|
|
#define READWRITE_H
|
|
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include "nbdtypes.h"
|
|
|
|
int socket_connect(struct sockaddr* to, struct sockaddr* from);
|
|
int socket_nbd_read_hello(int fd, off64_t * size);
|
|
int socket_nbd_write_hello(int fd, off64_t size);
|
|
void socket_nbd_read(int fd, off64_t from, int len, int out_fd, void* out_buf, int timeout_secs);
|
|
void socket_nbd_write(int fd, off64_t from, int len, int out_fd, void* out_buf, int timeout_secs);
|
|
int socket_nbd_disconnect( int fd );
|
|
|
|
/* as you can see, we're slowly accumulating code that should really be in an
|
|
* NBD library */
|
|
|
|
void nbd_hello_to_buf( struct nbd_init_raw* buf, off64_t out_size );
|
|
int nbd_check_hello( struct nbd_init_raw* init_raw, off64_t* out_size );
|
|
|
|
#endif
|
|
|