Justus Winter, le Tue 25 Feb 2014 12:30:02 +0100, a écrit : > Previously, the mig mutator functions were in misc.c, preventing them > from being inlined into the mig-generated server functions. Put them > in mig-decls.h instead. Rename mutations.h to mig-mutate.h. This is > the naming convention used for pflocal.
Ack. > * pfinet/mutations.h: Rename to mig-mutate.h, adopt imports. > * pfinet/Makefile: Adopt accordingly. > * pfinet/mig-decls.h: New file. > * pfinet/misc.c: Move mutator functions to mig-decls.h. > * pfinet/pfinet.h: Move type declarations to mig-decls.h, remove > mutator declarations. > * pfinet/iioctl-ops.c: Include mig-decls.h. > --- > pfinet/Makefile | 6 +++--- > pfinet/iioctl-ops.c | 2 ++ > pfinet/mig-decls.h | 55 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > pfinet/mig-mutate.h | 37 +++++++++++++++++++++++++++++++++++ > pfinet/misc.c | 26 ------------------------- > pfinet/mutations.h | 38 ------------------------------------ > pfinet/pfinet.h | 9 --------- > 7 files changed, 97 insertions(+), 76 deletions(-) > create mode 100644 pfinet/mig-decls.h > create mode 100644 pfinet/mig-mutate.h > delete mode 100644 pfinet/mutations.h > > diff --git a/pfinet/Makefile b/pfinet/Makefile > index d442629..9bda137 100644 > --- a/pfinet/Makefile > +++ b/pfinet/Makefile > @@ -139,9 +139,9 @@ asm/checksum.h: ../config.status > '#include "../linux-src/include/asm-$(asm_syntax)/checksum.h"' > mv -f $@.new $@ > > -io-MIGSFLAGS = -imacros $(srcdir)/mutations.h > -socket-MIGSFLAGS = -imacros $(srcdir)/mutations.h > +io-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h > +socket-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h > > # cpp doesn't automatically make dependencies for -imacros dependencies. > argh. > -io_S.h ioServer.c socket_S.h socketServer.c: mutations.h > +io_S.h ioServer.c socket_S.h socketServer.c: mig-mutate.h > $(OBJS): config.h > diff --git a/pfinet/iioctl-ops.c b/pfinet/iioctl-ops.c > index 6777680..bd876ee 100644 > --- a/pfinet/iioctl-ops.c > +++ b/pfinet/iioctl-ops.c > @@ -36,6 +36,8 @@ > #include <net/if.h> > #include <net/sock.h> > > +#include "mig-decls.h" > + > extern struct notifier_block *netdev_chain; > > /* devinet.c */ > diff --git a/pfinet/mig-decls.h b/pfinet/mig-decls.h > new file mode 100644 > index 0000000..ec8fb23 > --- /dev/null > +++ b/pfinet/mig-decls.h > @@ -0,0 +1,55 @@ > +/* > + Copyright (C) 1995,96,2000 Free Software Foundation, Inc. > + Written by Michael I. Bushnell, p/BSG. > + > + This file is part of the GNU Hurd. > + > + The GNU Hurd is free software; you can redistribute it and/or > + modify it under the terms of the GNU General Public License as > + published by the Free Software Foundation; either version 2, or (at > + your option) any later version. > + > + The GNU Hurd is distributed in the hope that it will be useful, but > + WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + General Public License for more details. > + > + You should have received a copy of the GNU General Public License > + along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */ > + > +#ifndef __PFINET_MIG_DECLS_H__ > +#define __PFINET_MIG_DECLS_H__ > + > +#include "pfinet.h" > + > +/* MiG bogosity */ > +typedef struct sock_user *sock_user_t; > +typedef struct sock_addr *sock_addr_t; > + > +static inline struct sock_user * __attribute__ ((unused)) > +begin_using_socket_port (mach_port_t port) > +{ > + return ports_lookup_port (pfinet_bucket, port, socketport_class); > +} > + > +static inline void __attribute__ ((unused)) > +end_using_socket_port (struct sock_user *user) > +{ > + if (user) > + ports_port_deref (user); > +} > + > +static inline struct sock_addr * __attribute__ ((unused)) > +begin_using_sockaddr_port (mach_port_t port) > +{ > + return ports_lookup_port (pfinet_bucket, port, addrport_class); > +} > + > +static inline void __attribute__ ((unused)) > +end_using_sockaddr_port (struct sock_addr *addr) > +{ > + if (addr) > + ports_port_deref (addr); > +} > + > +#endif /* __PFINET_MIG_DECLS_H__ */ > diff --git a/pfinet/mig-mutate.h b/pfinet/mig-mutate.h > new file mode 100644 > index 0000000..4d97408 > --- /dev/null > +++ b/pfinet/mig-mutate.h > @@ -0,0 +1,37 @@ > +/* > + Copyright (C) 1995 Free Software Foundation, Inc. > + Written by Michael I. Bushnell, p/BSG. > + > + This file is part of the GNU Hurd. > + > + The GNU Hurd is free software; you can redistribute it and/or > + modify it under the terms of the GNU General Public License as > + published by the Free Software Foundation; either version 2, or (at > + your option) any later version. > + > + The GNU Hurd is distributed in the hope that it will be useful, but > + WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + General Public License for more details. > + > + You should have received a copy of the GNU General Public License > + along with this program; if not, write to the Free Software > + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ > + > +/* Only CPP macro definitions should go in this file. */ > + > +#define IO_SELECT_REPLY_PORT > + > +#define IO_INTRAN sock_user_t begin_using_socket_port (io_t) > +#define IO_DESTRUCTOR end_using_socket_port (sock_user_t) > +#define IO_IMPORTS import "mig-decls.h"; > + > +#define SOCKET_INTRAN sock_user_t begin_using_socket_port (socket_t) > +#define SOCKET_DESTRUCTOR end_using_socket_port (sock_user_t) > +#define SOCKET_IMPORTS import "mig-decls.h"; > + > +#define ADDRPORT_INTRAN sock_addr_t begin_using_sockaddr_port (addr_port_t) > +#define ADDRPORT_DESTRUCTOR end_using_sockaddr_port (sock_addr_t) > + > +#define PF_INTRAN trivfs_protid_t trivfs_begin_using_protid (pf_t) > +#define PF_DESTRUCTOR trivfs_end_using_protid (trivfs_protid_t) > diff --git a/pfinet/misc.c b/pfinet/misc.c > index 08b19e9..d0987eb 100644 > --- a/pfinet/misc.c > +++ b/pfinet/misc.c > @@ -62,32 +62,6 @@ make_sockaddr_port (struct socket *sock, > return 0; > } > > -struct sock_user * > -begin_using_socket_port (mach_port_t port) > -{ > - return ports_lookup_port (pfinet_bucket, port, socketport_class); > -} > - > -void > -end_using_socket_port (struct sock_user *user) > -{ > - if (user) > - ports_port_deref (user); > -} > - > -struct sock_addr * > -begin_using_sockaddr_port (mach_port_t port) > -{ > - return ports_lookup_port (pfinet_bucket, port, addrport_class); > -} > - > -void > -end_using_sockaddr_port (struct sock_addr *addr) > -{ > - if (addr) > - ports_port_deref (addr); > -} > - > /* Nothing need be done here. */ > void > clean_addrport (void *arg) > diff --git a/pfinet/mutations.h b/pfinet/mutations.h > deleted file mode 100644 > index f63ad9b..0000000 > --- a/pfinet/mutations.h > +++ /dev/null > @@ -1,38 +0,0 @@ > -/* > - Copyright (C) 1995 Free Software Foundation, Inc. > - Written by Michael I. Bushnell, p/BSG. > - > - This file is part of the GNU Hurd. > - > - The GNU Hurd is free software; you can redistribute it and/or > - modify it under the terms of the GNU General Public License as > - published by the Free Software Foundation; either version 2, or (at > - your option) any later version. > - > - The GNU Hurd is distributed in the hope that it will be useful, but > - WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - General Public License for more details. > - > - You should have received a copy of the GNU General Public License > - along with this program; if not, write to the Free Software > - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ > - > -/* Only CPP macro definitions should go in this file. */ > - > -#define IO_SELECT_REPLY_PORT > - > -#define IO_INTRAN sock_user_t begin_using_socket_port (io_t) > -#define IO_DESTRUCTOR end_using_socket_port (sock_user_t) > - > -#define SOCKET_INTRAN sock_user_t begin_using_socket_port (socket_t) > -#define SOCKET_DESTRUCTOR end_using_socket_port (sock_user_t) > - > -#define ADDRPORT_INTRAN sock_addr_t begin_using_sockaddr_port (addr_port_t) > -#define ADDRPORT_DESTRUCTOR end_using_sockaddr_port (sock_addr_t) > - > -#define PF_INTRAN trivfs_protid_t trivfs_begin_using_protid (pf_t) > -#define PF_DESTRUCTOR trivfs_end_using_protid (trivfs_protid_t) > - > -#define IO_IMPORTS import "pfinet.h"; > -#define SOCKET_IMPORTS import "pfinet.h"; > diff --git a/pfinet/pfinet.h b/pfinet/pfinet.h > index 9725dab..46aa97b 100644 > --- a/pfinet/pfinet.h > +++ b/pfinet/pfinet.h > @@ -83,18 +83,9 @@ void ip_rt_del (u_long, struct device *); > struct sock; > error_t tcp_tiocinq (struct sock *sk, mach_msg_type_number_t *amount); > > - > -struct sock_user *begin_using_socket_port (socket_t); > -struct sock_addr *begin_using_sockaddr_port (socket_t); > -void end_using_socket_port (struct sock_user *); > -void end_using_sockaddr_port (struct sock_addr *); > void clean_addrport (void *); > void clean_socketport (void *); > > -/* MiG bogosity */ > -typedef struct sock_user *sock_user_t; > -typedef struct sock_addr *sock_addr_t; > - > /* pfinet6 port classes. */ > enum { > PORTCLASS_INET, > -- > 1.8.5.2 > -- Samuel Moralité : le modem et le cablerouteur font comme les filles, ils papotent toute la journée. -+- RB in NPC : Et en plus, ils ne parlent que de bits -+-