diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-11-28 11:10:20 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-12-07 15:38:18 +0100 |
commit | df8605b39f109362e86b0ebf6b8cf79fd1b2f3fd (patch) | |
tree | a2d1382dafbd3d39e353afddfcd3d2746fd57b57 /pfinet | |
parent | b6079b096eef4b7b347c85184592584c7ec4a022 (diff) |
pfinet: add payload-aware intrans functions
* pfinet/mig-mutate.h: Add mutators.
* pfinet/mig-decls.h (begin_using_socket_payload): New function.
(begin_using_sockaddr_payload): Likewise.
Diffstat (limited to 'pfinet')
-rw-r--r-- | pfinet/mig-decls.h | 12 | ||||
-rw-r--r-- | pfinet/mig-mutate.h | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/pfinet/mig-decls.h b/pfinet/mig-decls.h index ec8fb232..67bcbfc3 100644 --- a/pfinet/mig-decls.h +++ b/pfinet/mig-decls.h @@ -32,6 +32,12 @@ begin_using_socket_port (mach_port_t port) return ports_lookup_port (pfinet_bucket, port, socketport_class); } +static inline struct sock_user * __attribute__ ((unused)) +begin_using_socket_payload (unsigned long payload) +{ + return ports_lookup_payload (pfinet_bucket, payload, socketport_class); +} + static inline void __attribute__ ((unused)) end_using_socket_port (struct sock_user *user) { @@ -45,6 +51,12 @@ begin_using_sockaddr_port (mach_port_t port) return ports_lookup_port (pfinet_bucket, port, addrport_class); } +static inline struct sock_addr * __attribute__ ((unused)) +begin_using_sockaddr_payload (unsigned long payload) +{ + return ports_lookup_payload (pfinet_bucket, payload, addrport_class); +} + static inline void __attribute__ ((unused)) end_using_sockaddr_port (struct sock_addr *addr) { diff --git a/pfinet/mig-mutate.h b/pfinet/mig-mutate.h index 0a1eeb84..2bc385b8 100644 --- a/pfinet/mig-mutate.h +++ b/pfinet/mig-mutate.h @@ -23,18 +23,22 @@ #define IO_SELECT_REPLY_PORT #define IO_INTRAN sock_user_t begin_using_socket_port (io_t) +#define IO_INTRAN_PAYLOAD sock_user_t begin_using_socket_payload #define IO_DESTRUCTOR end_using_socket_port (sock_user_t) #define IO_IMPORTS import "mig-decls.h"; #define IIOCTL_IMPORTS import "mig-decls.h"; #define SOCKET_INTRAN sock_user_t begin_using_socket_port (socket_t) +#define SOCKET_INTRAN_PAYLOAD sock_user_t begin_using_socket_payload #define SOCKET_DESTRUCTOR end_using_socket_port (sock_user_t) #define SOCKET_IMPORTS \ import "mig-decls.h"; \ import "../libtrivfs/mig-decls.h"; \ #define ADDRPORT_INTRAN sock_addr_t begin_using_sockaddr_port (addr_port_t) +#define ADDRPORT_INTRAN_PAYLOAD sock_addr_t begin_using_sockaddr_payload #define ADDRPORT_DESTRUCTOR end_using_sockaddr_port (sock_addr_t) #define PF_INTRAN trivfs_protid_t trivfs_begin_using_protid (pf_t) +#define PF_INTRAN_PAYLOAD trivfs_protid_t trivfs_begin_using_protid_payload #define PF_DESTRUCTOR trivfs_end_using_protid (trivfs_protid_t) |