
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.
30 lines
623 B
C
30 lines
623 B
C
#ifndef PARSE_H
|
|
#define PARSE_H
|
|
|
|
#include <sys/socket.h>
|
|
#include <sys/un.h>
|
|
|
|
#include <arpa/inet.h>
|
|
#include <unistd.h>
|
|
|
|
union mysockaddr {
|
|
unsigned short family;
|
|
struct sockaddr generic;
|
|
struct sockaddr_in v4;
|
|
struct sockaddr_in6 v6;
|
|
struct sockaddr_un un;
|
|
};
|
|
|
|
struct ip_and_mask {
|
|
union mysockaddr ip;
|
|
int mask;
|
|
};
|
|
|
|
int parse_ip_to_sockaddr(struct sockaddr* out, char* src);
|
|
int parse_to_sockaddr(struct sockaddr* out, char* src);
|
|
int parse_acl(struct ip_and_mask (**out)[], int max, char **entries);
|
|
void parse_port( char *s_port, struct sockaddr_in *out );
|
|
|
|
#endif
|
|
|