diff options
author | pjd <pjd@FreeBSD.org> | 2011-01-31 18:35:17 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2011-01-31 18:35:17 +0000 |
commit | 214239b194b6861580bd58356d9abc3e0e9b50b6 (patch) | |
tree | 6ba0be808ae947b55743d27f5ae29dc66e331979 /sbin/hastd/proto_impl.h | |
parent | d916d2edb510181e3ab25256b84c439c5e1b8498 (diff) | |
download | FreeBSD-src-214239b194b6861580bd58356d9abc3e0e9b50b6.zip FreeBSD-src-214239b194b6861580bd58356d9abc3e0e9b50b6.tar.gz |
Implement two new functions for sending descriptor and receving descriptor
over UNIX domain sockets and socket pairs.
This is in preparation for capsicum.
MFC after: 1 week
Diffstat (limited to 'sbin/hastd/proto_impl.h')
-rw-r--r-- | sbin/hastd/proto_impl.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sbin/hastd/proto_impl.h b/sbin/hastd/proto_impl.h index f0dfadd..fcf3d44 100644 --- a/sbin/hastd/proto_impl.h +++ b/sbin/hastd/proto_impl.h @@ -45,6 +45,8 @@ typedef int hp_server_t(const char *, void **); typedef int hp_accept_t(void *, void **); typedef int hp_send_t(void *, const unsigned char *, size_t); typedef int hp_recv_t(void *, unsigned char *, size_t); +typedef int hp_descriptor_send_t(void *, int); +typedef int hp_descriptor_recv_t(void *, int *); typedef int hp_descriptor_t(const void *); typedef bool hp_address_match_t(const void *, const char *); typedef void hp_local_address_t(const void *, char *, size_t); @@ -59,6 +61,8 @@ struct hast_proto { hp_accept_t *hp_accept; hp_send_t *hp_send; hp_recv_t *hp_recv; + hp_descriptor_send_t *hp_descriptor_send; + hp_descriptor_recv_t *hp_descriptor_recv; hp_descriptor_t *hp_descriptor; hp_address_match_t *hp_address_match; hp_local_address_t *hp_local_address; @@ -69,7 +73,9 @@ struct hast_proto { void proto_register(struct hast_proto *proto, bool isdefault); -int proto_common_send(int fd, const unsigned char *data, size_t size); -int proto_common_recv(int fd, unsigned char *data, size_t size); +int proto_common_send(int sock, const unsigned char *data, size_t size); +int proto_common_recv(int sock, unsigned char *data, size_t size); +int proto_common_descriptor_send(int sock, int fd); +int proto_common_descriptor_recv(int sock, int *fdp); #endif /* !_PROTO_IMPL_H_ */ |