diff options
-rw-r--r-- | auth/Makefile | 2 | ||||
-rw-r--r-- | auth/auth.c | 10 | ||||
-rw-r--r-- | auth/auth.h | 28 | ||||
-rw-r--r-- | auth/auth_mig.h | 5 | ||||
-rw-r--r-- | auth/authmutations.h | 6 | ||||
-rw-r--r-- | auth/mig-decls.h | 42 | ||||
-rw-r--r-- | auth/mig-mutate.h | 24 | ||||
-rw-r--r-- | utils/Makefile | 2 | ||||
-rw-r--r-- | utils/fakeauth.c | 10 |
9 files changed, 100 insertions, 29 deletions
diff --git a/auth/Makefile b/auth/Makefile index 75910c77..b9eedda5 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 e69c4f86..7d35bd37 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 00000000..0bc341d3 --- /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 d919c1b9..00000000 --- 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 63b2f540..00000000 --- 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 00000000..09c7c70a --- /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 00000000..ea40c707 --- /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 5ebb2310..81fa2932 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 660295f9..590a421a 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. */ |