#ifndef PROTO_H #define PROTO_H #include #include #include struct protocol { char *name; uint16_t default_port; int ( * load ) ( char *url, struct sockaddr_in *server, char *file, struct buffer *buffer ); }; /* * Protocols that should be used if no explicit protocol is specified * (i.e. tftp) should use __default_protocol; all other protocols * should use __protocol. * */ #define __protocol_start __table_start ( struct protocol, protocol ) #define __protocol __table ( struct protocol, protocol, 01 ) #define __default_protocol_start __table ( struct protocol, protocol, 02 ) #define __default_protocol __table ( struct protocol, protocol, 03 ) #define __protocol_end __table_end ( struct protocol, protocol ) /* * Functions in proto.c * */ extern struct protocol * identify_protocol ( const char *name ); #endif /* PROTO_H */