Justus Winter, le Sun 02 Mar 2014 00:15:07 +0100, a écrit : > Previously, the mig mutator function auth_port_to_handle was defined > in auth.c (fakeauth.c), preventing it from being inlined into the > mig-generated server functions. Put it in mig-decls.h instead. > Rename authmutations.h to mig-mutate.h, auth_mig.h to mig-decls.h. > This is the naming convention used for pflocal.
Ack. > * auth/auth.h: New file. > * auth/auth_mig.h: Rename to mig-decls.h, add copyright notice, define > mutator functions. > * auth/authmutations.h: Rename to mig-mutate.h, restore copyright > notice, adjust accordingly. > * auth/auth.c: Include auth.h, remove auth_port_to_handle. > * utils/fakeauth.c: Likewise. > * auth/Makefile: Adjust accordingly. > * utils/Makefile: Likewise. > --- > auth/Makefile | 2 +- > auth/auth.c | 10 ++-------- > auth/auth.h | 28 ++++++++++++++++++++++++++++ > auth/auth_mig.h | 5 ----- > auth/authmutations.h | 6 ------ > auth/mig-decls.h | 42 ++++++++++++++++++++++++++++++++++++++++++ > auth/mig-mutate.h | 24 ++++++++++++++++++++++++ > utils/Makefile | 2 +- > utils/fakeauth.c | 10 ++-------- > 9 files changed, 100 insertions(+), 29 deletions(-) > create mode 100644 auth/auth.h > delete mode 100644 auth/auth_mig.h > delete mode 100644 auth/authmutations.h > create mode 100644 auth/mig-decls.h > create mode 100644 auth/mig-mutate.h > > diff --git a/auth/Makefile b/auth/Makefile > index 75910c7..b9eedda 100644 > --- a/auth/Makefile > +++ b/auth/Makefile > @@ -25,6 +25,6 @@ target = auth > HURDLIBS = ports ihash shouldbeinlibc > OTHERLIBS = -lpthread > > -MIGSFLAGS = -imacros $(srcdir)/authmutations.h > +MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h > > include ../Makeconf > diff --git a/auth/auth.c b/auth/auth.c > index e69c4f8..7d35bd3 100644 > --- a/auth/auth.c > +++ b/auth/auth.c > @@ -35,6 +35,8 @@ > #include "auth_S.h" > #include "auth_reply_U.h" > > +#include "auth.h" > + > const char *argp_program_version = STANDARD_HURD_VERSION(auth); > > > @@ -72,14 +74,6 @@ destroy_authhandle (void *p) > idvec_free_contents (&h->auids); > idvec_free_contents (&h->agids); > } > - > -/* Called by server stub functions. */ > - > -authhandle_t > -auth_port_to_handle (auth_t auth) > -{ > - return ports_lookup_port (auth_bucket, auth, authhandle_portclass); > -} > > /* id management. */ > > diff --git a/auth/auth.h b/auth/auth.h > new file mode 100644 > index 0000000..0bc341d > --- /dev/null > +++ b/auth/auth.h > @@ -0,0 +1,28 @@ > +/* > + Copyright (C) 2014 Free Software Foundation, Inc. > + Written by Justus Winter. > + > + 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 __AUTH_H__ > +#define __AUTH_H__ > + > +#include <hurd/ports.h> > + > +extern struct port_bucket *auth_bucket; > +extern struct port_class *authhandle_portclass; > + > +#endif /* __AUTH_H__ */ > diff --git a/auth/auth_mig.h b/auth/auth_mig.h > deleted file mode 100644 > index d919c1b..0000000 > --- a/auth/auth_mig.h > +++ /dev/null > @@ -1,5 +0,0 @@ > -typedef struct authhandle *authhandle_t; > - > -authhandle_t auth_port_to_handle (auth_t); > - > -#include <hurd/ports.h> > diff --git a/auth/authmutations.h b/auth/authmutations.h > deleted file mode 100644 > index 63b2f54..0000000 > --- a/auth/authmutations.h > +++ /dev/null > @@ -1,6 +0,0 @@ > -/* CPP definitions for MiG processing of auth.defs for auth server. */ > - > -#define AUTH_INTRAN authhandle_t auth_port_to_handle (auth_t) > -#define AUTH_DESTRUCTOR ports_port_deref (authhandle_t) > - > -#define AUTH_IMPORTS import "auth_mig.h"; > diff --git a/auth/mig-decls.h b/auth/mig-decls.h > new file mode 100644 > index 0000000..09c7c70 > --- /dev/null > +++ b/auth/mig-decls.h > @@ -0,0 +1,42 @@ > +/* > + Copyright (C) 2014 Free Software Foundation, Inc. > + Written by Justus Winter. > + > + 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 __AUTH_MIG_DECLS_H__ > +#define __AUTH_MIG_DECLS_H__ > + > +#include "auth.h" > + > +typedef struct authhandle *authhandle_t; > + > +/* Called by server stub functions. */ > + > +static inline struct authhandle * __attribute__ ((unused)) > +auth_port_to_handle (mach_port_t auth) > +{ > + return ports_lookup_port (auth_bucket, auth, authhandle_portclass); > +} > + > +static inline void __attribute__ ((unused)) > +end_using_authhandle (struct authhandle *auth) > +{ > + if (auth) > + ports_port_deref (auth); > +} > + > +#endif /* __AUTH_MIG_DECLS_H__ */ > diff --git a/auth/mig-mutate.h b/auth/mig-mutate.h > new file mode 100644 > index 0000000..ea40c70 > --- /dev/null > +++ b/auth/mig-mutate.h > @@ -0,0 +1,24 @@ > +/* > + Copyright (C) 1991,93,94,2014 Free Software Foundation, Inc. > + Written by Michael I. Bushnell. > + > + 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/>. */ > + > +/* CPP definitions for MiG processing of auth.defs for auth server. */ > + > +#define AUTH_INTRAN authhandle_t auth_port_to_handle (auth_t) > +#define AUTH_DESTRUCTOR end_using_authhandle (authhandle_t) > +#define AUTH_IMPORTS import "mig-decls.h"; > diff --git a/utils/Makefile b/utils/Makefile > index 5ebb231..81fa293 100644 > --- a/utils/Makefile > +++ b/utils/Makefile > @@ -73,7 +73,7 @@ rpctrace-CPPFLAGS = -DDATADIR=\"${datadir}\" > fakeauth: authServer.o auth_requestUser.o interruptServer.o \ > ../libports/libports.a ../libihash/libihash.a \ > ../libshouldbeinlibc/libshouldbeinlibc.a > -auth-MIGSFLAGS = -imacros $(srcdir)/../auth/authmutations.h > +auth-MIGSFLAGS = -imacros $(srcdir)/../auth/mig-mutate.h > fakeauth-CPPFLAGS = -I$(srcdir)/../auth > authServer-CPPFLAGS = -I$(srcdir)/../auth > auth_requestUser-CPPFLAGS = -I$(srcdir)/../auth > diff --git a/utils/fakeauth.c b/utils/fakeauth.c > index 660295f..590a421 100644 > --- a/utils/fakeauth.c > +++ b/utils/fakeauth.c > @@ -30,6 +30,8 @@ > #include "auth_request_U.h" > #include "interrupt_S.h" > > +#include "../auth/auth.h" > + > /* Auth handles are server ports with sets of ids. */ > struct authhandle > { > @@ -63,14 +65,6 @@ destroy_authhandle (void *p) > idvec_free_contents (&h->auids); > idvec_free_contents (&h->agids); > } > - > -/* Called by server stub functions. */ > - > -authhandle_t > -auth_port_to_handle (auth_t auth) > -{ > - return ports_lookup_port (auth_bucket, auth, authhandle_portclass); > -} > > /* id management. */ > > -- > 1.9.0 > -- Samuel /* * [...] Note that 120 sec is defined in the protocol as the maximum * possible RTT. I guess we'll have to use something other than TCP * to talk to the University of Mars. * PAWS allows us longer timeouts and large windows, so once implemented * ftp to mars will work nicely. */ (from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])