Justus Winter, le Thu 27 Nov 2014 14:18:46 +0100, a écrit : > * libdiskfs/diskfs.h (diskfs_begin_using_protid_payload): New function. > (diskfs_begin_using_control_payload): Likewise. > (diskfs_begin_using_bootinfo_payload): Likewise. > * libdiskfs/fsmutations.h: Add mutators.
Ack. > --- > libdiskfs/diskfs.h | 29 +++++++++++++++++++++++++++++ > libdiskfs/fsmutations.h | 5 +++++ > 2 files changed, 34 insertions(+) > > diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h > index e59ba99..2818225 100644 > --- a/libdiskfs/diskfs.h > +++ b/libdiskfs/diskfs.h > @@ -833,8 +833,14 @@ error_t diskfs_start_protid (struct peropen *po, struct > protid **cred); > void diskfs_finish_protid (struct protid *cred, struct iouser *user); > > extern struct protid * diskfs_begin_using_protid_port (file_t port); > +extern struct protid * > +diskfs_begin_using_protid_payload (unsigned long payload); > extern struct diskfs_control * diskfs_begin_using_control_port (fsys_t port); > +extern struct diskfs_control * > +diskfs_begin_using_control_port_payload (unsigned long payload); > extern struct bootinfo *diskfs_begin_using_bootinfo_port (exec_startup_t > port); > +struct bootinfo * > +diskfs_begin_using_bootinfo_payload (unsigned long payload); > > extern void diskfs_end_using_protid_port (struct protid *cred); > extern void diskfs_end_using_control_port (struct diskfs_control *cred); > @@ -851,6 +857,14 @@ diskfs_begin_using_protid_port (file_t port) > return ports_lookup_port (diskfs_port_bucket, port, diskfs_protid_class); > } > > +DISKFS_EXTERN_INLINE struct protid * > +diskfs_begin_using_protid_payload (unsigned long payload) > +{ > + return ports_lookup_payload (diskfs_port_bucket, > + payload, > + diskfs_protid_class); > +} > + > /* And for the fsys interface. */ > DISKFS_EXTERN_INLINE struct diskfs_control * > diskfs_begin_using_control_port (fsys_t port) > @@ -858,6 +872,14 @@ diskfs_begin_using_control_port (fsys_t port) > return ports_lookup_port (diskfs_port_bucket, port, NULL); > } > > +DISKFS_EXTERN_INLINE struct diskfs_control * > +diskfs_begin_using_control_port_payload (unsigned long payload) > +{ > + return ports_lookup_payload (diskfs_port_bucket, > + payload, > + NULL); > +} > + > /* And for the exec_startup interface. */ > DISKFS_EXTERN_INLINE struct bootinfo * > diskfs_begin_using_bootinfo_port (exec_startup_t port) > @@ -865,6 +887,13 @@ diskfs_begin_using_bootinfo_port (exec_startup_t port) > return ports_lookup_port (diskfs_port_bucket, port, diskfs_execboot_class); > } > > +DISKFS_EXTERN_INLINE struct bootinfo * > +diskfs_begin_using_bootinfo_payload (unsigned long payload) > +{ > + return ports_lookup_payload (diskfs_port_bucket, > + payload, > + diskfs_execboot_class); > +} > > /* Called by MiG after server routines have been run; this > balances begin_using_protid_port, and is arranged for the io > diff --git a/libdiskfs/fsmutations.h b/libdiskfs/fsmutations.h > index 3f9362b..c2167c6 100644 > --- a/libdiskfs/fsmutations.h > +++ b/libdiskfs/fsmutations.h > @@ -18,12 +18,15 @@ > /* Only CPP macro definitions should go in this file. */ > > #define FILE_INTRAN protid_t diskfs_begin_using_protid_port (file_t) > +#define FILE_INTRAN_PAYLOAD protid_t diskfs_begin_using_protid_payload > #define FILE_DESTRUCTOR diskfs_end_using_protid_port (protid_t) > > #define IO_INTRAN protid_t diskfs_begin_using_protid_port (io_t) > +#define IO_INTRAN_PAYLOAD protid_t diskfs_begin_using_protid_payload > #define IO_DESTRUCTOR diskfs_end_using_protid_port (protid_t) > > #define FSYS_INTRAN control_t diskfs_begin_using_control_port (fsys_t) > +#define FSYS_INTRAN_PAYLOAD control_t diskfs_begin_using_control_port_payload > #define FSYS_DESTRUCTOR diskfs_end_using_control_port (control_t) > > #define FILE_IMPORTS import "libdiskfs/priv.h"; > @@ -33,6 +36,8 @@ > > #define EXEC_STARTUP_INTRAN \ > bootinfo_t diskfs_begin_using_bootinfo_port (exec_startup_t) > +#define EXEC_STARTUP_INTRAN_PAYLOAD \ > + bootinfo_t diskfs_begin_using_bootinfo_payload > #define EXEC_STARTUP_DESTRUCTOR \ > diskfs_end_using_bootinfo (bootinfo_t) > #define EXEC_STARTUP_IMPORTS \ > -- > 2.1.3 > -- Samuel <i> ben oui ce serait idiot, mais osb -+- m'en fous de faire un truc débile ! -+-