diff --git a/devnode/mig-mutate.h b/devnode/mig-mutate.h index f692236..0656014 100644 --- a/devnode/mig-mutate.h +++ b/devnode/mig-mutate.h @@ -19,6 +19,8 @@ #define NOTIFY_INTRAN \ port_info_t begin_using_port_info_port (mach_port_t) +#define NOTIFY_INTRAN_PAYLOAD \ + port_info_t begin_using_port_info_payload #define NOTIFY_DESTRUCTOR \ end_using_port_info (port_info_t) #define NOTIFY_IMPORTS \ diff --git a/eth-filter/mig-decls.h b/eth-filter/mig-decls.h index 0bb29a6..a3f700c 100644 --- a/eth-filter/mig-decls.h +++ b/eth-filter/mig-decls.h @@ -35,6 +35,12 @@ begin_using_device_port (mach_port_t port) return ports_lookup_port (port_bucket, port, user_portclass); } +static inline struct proxy_user * __attribute__ ((unused)) +begin_using_device_payload (unsigned long payload) +{ + return ports_lookup_payload (port_bucket, payload, user_portclass); +} + static inline void __attribute__ ((unused)) end_using_device (struct proxy_user *p) { diff --git a/eth-filter/mig-mutate.h b/eth-filter/mig-mutate.h index 388ce09..5c6cde9 100644 --- a/eth-filter/mig-mutate.h +++ b/eth-filter/mig-mutate.h @@ -19,6 +19,8 @@ #define NOTIFY_INTRAN \ port_info_t begin_using_port_info_port (mach_port_t) +#define NOTIFY_INTRAN_PAYLOAD \ + port_info_t begin_using_port_info_payload #define NOTIFY_DESTRUCTOR \ end_using_port_info (port_info_t) #define NOTIFY_IMPORTS \ @@ -26,6 +28,8 @@ #define DEVICE_INTRAN \ proxy_user_t begin_using_device_port (mach_port_t) +#define DEVICE_INTRAN_PAYLOAD \ + proxy_user_t begin_using_device_payload #define DEVICE_DESTRUCTOR \ end_using_device (proxy_user_t) #define DEVICE_IMPORTS \ diff --git a/eth-multiplexer/mig-decls.h b/eth-multiplexer/mig-decls.h index a68e2ec..6ad9ebf 100644 --- a/eth-multiplexer/mig-decls.h +++ b/eth-multiplexer/mig-decls.h @@ -35,6 +35,12 @@ begin_using_device_port (mach_port_t port) return ports_lookup_port (port_bucket, port, vdev_portclass); } +static inline struct vether_device * __attribute__ ((unused)) +begin_using_device_payload (unsigned long payload) +{ + return ports_lookup_payload (port_bucket, payload, vdev_portclass); +} + static inline void __attribute__ ((unused)) end_using_device (struct vether_device *p) { diff --git a/eth-multiplexer/mig-mutate.h b/eth-multiplexer/mig-mutate.h index 2403c29..55eca31 100644 --- a/eth-multiplexer/mig-mutate.h +++ b/eth-multiplexer/mig-mutate.h @@ -19,6 +19,8 @@ #define NOTIFY_INTRAN \ port_info_t begin_using_port_info_port (mach_port_t) +#define NOTIFY_INTRAN_PAYLOAD \ + port_info_t begin_using_port_info_payload #define NOTIFY_DESTRUCTOR \ end_using_port_info (port_info_t) #define NOTIFY_IMPORTS \ @@ -26,6 +28,8 @@ #define DEVICE_INTRAN \ vether_device_t begin_using_device_port (mach_port_t) +#define DEVICE_INTRAN_PAYLOAD \ + vether_device_t begin_using_device_payload #define DEVICE_DESTRUCTOR \ end_using_device (vether_device_t) #define DEVICE_IMPORTS \ diff --git a/libmachdev/mig-decls.h b/libmachdev/mig-decls.h index b3dc43d..8302029 100644 --- a/libmachdev/mig-decls.h +++ b/libmachdev/mig-decls.h @@ -34,6 +34,12 @@ begin_using_device_port (mach_port_t port) return ports_lookup_port (device_bucket, port, dev_class); } +static inline struct mach_device * __attribute__ ((unused)) +begin_using_device_payload (unsigned long payload) +{ + return ports_lookup_payload (device_bucket, payload, dev_class); +} + static inline void __attribute__ ((unused)) end_using_device (struct mach_device *p) { diff --git a/libmachdev/mig-mutate.h b/libmachdev/mig-mutate.h index 56c6965..902ff16 100644 --- a/libmachdev/mig-mutate.h +++ b/libmachdev/mig-mutate.h @@ -19,6 +19,8 @@ #define NOTIFY_INTRAN \ port_info_t begin_using_port_info_port (mach_port_t) +#define NOTIFY_INTRAN_PAYLOAD \ + port_info_t begin_using_port_info_payload #define NOTIFY_DESTRUCTOR \ end_using_port_info (port_info_t) #define NOTIFY_IMPORTS \ @@ -26,6 +28,8 @@ #define DEVICE_INTRAN \ mach_device_t begin_using_device_port (mach_port_t) +#define DEVICE_INTRAN_PAYLOAD \ + mach_device_t begin_using_device_payload #define DEVICE_DESTRUCTOR \ end_using_device (mach_device_t) #define DEVICE_IMPORTS \