[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH hurd 06/30] libdiskfs: add payload-aware intrans functions
From: |
Samuel Thibault |
Subject: |
Re: [PATCH hurd 06/30] libdiskfs: add payload-aware intrans functions |
Date: |
Tue, 2 Dec 2014 00:59:49 +0100 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
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 ! -+-
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH hurd 06/30] libdiskfs: add payload-aware intrans functions,
Samuel Thibault <=