Revision: 22883 http://trac.macosforge.org/projects/launchd/changeset/22883 Author: zarzycki@apple.com Date: 2006-09-25 10:47:17 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Rename all MIG defs files to protocol_* if they are meant for IPC to/from launchd. Group all supplemental MIG type goo in one file. We're leaving the internal thread-to-thread IPC glue as launchd_internal.defs for now. Modified Paths: -------------- trunk/launchd/src/Makefile.am trunk/launchd/src/Makefile.in trunk/launchd/src/launchd_core_logic.c Added Paths: ----------- trunk/launchd/src/launchd_mig_types.defs trunk/launchd/src/protocol_job.defs trunk/launchd/src/protocol_job_reply.defs trunk/launchd/src/protocol_jobmgr.defs trunk/launchd/src/protocol_legacy.defs Removed Paths: ------------- trunk/launchd/src/bootstrap.defs trunk/launchd/src/mpm_reply.defs Modified: trunk/launchd/src/Makefile.am =================================================================== --- trunk/launchd/src/Makefile.am 2006-09-24 21:51:15 UTC (rev 22882) +++ trunk/launchd/src/Makefile.am 2006-09-25 17:47:17 UTC (rev 22883) @@ -2,10 +2,10 @@ CLEANFILES = bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h \ launchd_internal.h launchd_internalServer.h launchd_internalServer.h launchd_internalUser.c \ - notifyServer.c notifyServer.h mpm_replyUser.c mpm_reply.h + notifyServer.c notifyServer.h job_replyUser.c job_reply.h -bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h: $(srcdir)/bootstrap.defs - mig $(MIGFLAGS) -sheader bootstrapServer.h $(srcdir)/bootstrap.defs +bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h: $(srcdir)/protocol_legacy.defs + mig $(MIGFLAGS) -sheader bootstrapServer.h $(srcdir)/protocol_legacy.defs if LIBS_ONLY @@ -43,19 +43,18 @@ launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter -fvisibility=hidden launchd_LDFLAGS = -lbsm -launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c bootstrapServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c mpm_replyUser.c launchd_runtime.c +launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c bootstrapServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c launchd_runtime.c:: notifyServer.h launchd_internal.h -launchd_core_logic.c:: bootstrap.h mpm_reply.h bootstrap.h bootstrapServer.h -#launchd.c:: bootstrap.h launchd_internalServer.h launchd_internal.h notifyServer.h bootstrapServer.h +launchd_core_logic.c:: bootstrap.h job_reply.h bootstrap.h bootstrapServer.h launchproxy_LDFLAGS = -weak_framework Security notifyServer.c notifyServer.h: /usr/include/mach/notify.defs mig $(MIGFLAGS) -header /dev/null -user /dev/null -sheader notifyServer.h /usr/include/mach/notify.defs -mpm_replyUser.c mpm_reply.h: $(srcdir)/mpm_reply.defs - mig $(MIGFLAGS) -sheader /dev/null -server /dev/null $(srcdir)/mpm_reply.defs +job_replyUser.c job_reply.h: $(srcdir)/protocol_job_reply.defs + mig $(MIGFLAGS) -sheader /dev/null -server /dev/null $(srcdir)/protocol_job_reply.defs launchd_internal.h launchd_internalServer.c launchd_internalUser.c launchd_internalServer.h: $(srcdir)/launchd_internal.defs mig $(MIGFLAGS) -sheader launchd_internalServer.h $(srcdir)/launchd_internal.defs Modified: trunk/launchd/src/Makefile.in =================================================================== --- trunk/launchd/src/Makefile.in 2006-09-24 21:51:15 UTC (rev 22882) +++ trunk/launchd/src/Makefile.in 2006-09-25 17:47:17 UTC (rev 22883) @@ -88,7 +88,7 @@ am__launchd_SOURCES_DIST = launchd.c launchd_core_logic.c \ launchd_unix_ipc.c init.c bootstrapServer.c notifyServer.c \ launchd_internalUser.c launchd_internalServer.c \ - mpm_replyUser.c launchd_runtime.c + job_replyUser.c launchd_runtime.c @LIBS_ONLY_FALSE@am_launchd_OBJECTS = launchd-launchd.$(OBJEXT) \ @LIBS_ONLY_FALSE@ launchd-launchd_core_logic.$(OBJEXT) \ @LIBS_ONLY_FALSE@ launchd-launchd_unix_ipc.$(OBJEXT) \ @@ -97,7 +97,7 @@ @LIBS_ONLY_FALSE@ launchd-notifyServer.$(OBJEXT) \ @LIBS_ONLY_FALSE@ launchd-launchd_internalUser.$(OBJEXT) \ @LIBS_ONLY_FALSE@ launchd-launchd_internalServer.$(OBJEXT) \ -@LIBS_ONLY_FALSE@ launchd-mpm_replyUser.$(OBJEXT) \ +@LIBS_ONLY_FALSE@ launchd-job_replyUser.$(OBJEXT) \ @LIBS_ONLY_FALSE@ launchd-launchd_runtime.$(OBJEXT) launchd_OBJECTS = $(am_launchd_OBJECTS) launchd_LDADD = $(LDADD) @@ -224,7 +224,7 @@ AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 CLEANFILES = bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h \ launchd_internal.h launchd_internalServer.h launchd_internalServer.h launchd_internalUser.c \ - notifyServer.c notifyServer.h mpm_replyUser.c mpm_reply.h + notifyServer.c notifyServer.h job_replyUser.c job_reply.h @LIBS_ONLY_TRUE@noinst_LIBRARIES = liblaunch.a liblaunch_profile.a @LIBS_ONLY_TRUE@liblaunch_a_SOURCES = liblaunch.c bootstrap_public.c @@ -239,8 +239,7 @@ @LIBS_ONLY_FALSE@SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c @LIBS_ONLY_FALSE@launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter -fvisibility=hidden @LIBS_ONLY_FALSE@launchd_LDFLAGS = -lbsm -@LIBS_ONLY_FALSE@launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c bootstrapServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c mpm_replyUser.c launchd_runtime.c -#launchd.c:: bootstrap.h launchd_internalServer.h launchd_internal.h notifyServer.h bootstrapServer.h +@LIBS_ONLY_FALSE@launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c bootstrapServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c @LIBS_ONLY_FALSE@launchproxy_LDFLAGS = -weak_framework Security @LIBS_ONLY_FALSE@man1_MANS = wait4path.1 launchctl.1 @LIBS_ONLY_FALSE@man5_MANS = launchd.plist.5 launchd.conf.5 @@ -425,13 +424,13 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchctl-launchctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-bootstrapServer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-init.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-job_replyUser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd_core_logic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd_internalServer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd_internalUser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd_runtime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-launchd_unix_ipc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-mpm_replyUser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd-notifyServer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchproxy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblaunch.Po@am__quote@ @@ -649,19 +648,19 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -c -o launchd-launchd_internalServer.obj `if test -f 'launchd_internalServer.c'; then $(CYGPATH_W) 'launchd_internalServer.c'; else $(CYGPATH_W) '$(srcdir)/launchd_internalServer.c'; fi` -launchd-mpm_replyUser.o: mpm_replyUser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -MT launchd-mpm_replyUser.o -MD -MP -MF "$(DEPDIR)/launchd-mpm_replyUser.Tpo" -c -o launchd-mpm_replyUser.o `test -f 'mpm_replyUser.c' || echo '$(srcdir)/'`mpm_replyUser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/launchd-mpm_replyUser.Tpo" "$(DEPDIR)/launchd-mpm_replyUser.Po"; else rm -f "$(DEPDIR)/launchd-mpm_replyUser.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mpm_replyUser.c' object='launchd-mpm_replyUser.o' libtool=no @AMDEPBACKSLASH@ +launchd-job_replyUser.o: job_replyUser.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -MT launchd-job_replyUser.o -MD -MP -MF "$(DEPDIR)/launchd-job_replyUser.Tpo" -c -o launchd-job_replyUser.o `test -f 'job_replyUser.c' || echo '$(srcdir)/'`job_replyUser.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/launchd-job_replyUser.Tpo" "$(DEPDIR)/launchd-job_replyUser.Po"; else rm -f "$(DEPDIR)/launchd-job_replyUser.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='job_replyUser.c' object='launchd-job_replyUser.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -c -o launchd-mpm_replyUser.o `test -f 'mpm_replyUser.c' || echo '$(srcdir)/'`mpm_replyUser.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -c -o launchd-job_replyUser.o `test -f 'job_replyUser.c' || echo '$(srcdir)/'`job_replyUser.c -launchd-mpm_replyUser.obj: mpm_replyUser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -MT launchd-mpm_replyUser.obj -MD -MP -MF "$(DEPDIR)/launchd-mpm_replyUser.Tpo" -c -o launchd-mpm_replyUser.obj `if test -f 'mpm_replyUser.c'; then $(CYGPATH_W) 'mpm_replyUser.c'; else $(CYGPATH_W) '$(srcdir)/mpm_replyUser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/launchd-mpm_replyUser.Tpo" "$(DEPDIR)/launchd-mpm_replyUser.Po"; else rm -f "$(DEPDIR)/launchd-mpm_replyUser.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mpm_replyUser.c' object='launchd-mpm_replyUser.obj' libtool=no @AMDEPBACKSLASH@ +launchd-job_replyUser.obj: job_replyUser.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -MT launchd-job_replyUser.obj -MD -MP -MF "$(DEPDIR)/launchd-job_replyUser.Tpo" -c -o launchd-job_replyUser.obj `if test -f 'job_replyUser.c'; then $(CYGPATH_W) 'job_replyUser.c'; else $(CYGPATH_W) '$(srcdir)/job_replyUser.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/launchd-job_replyUser.Tpo" "$(DEPDIR)/launchd-job_replyUser.Po"; else rm -f "$(DEPDIR)/launchd-job_replyUser.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='job_replyUser.c' object='launchd-job_replyUser.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -c -o launchd-mpm_replyUser.obj `if test -f 'mpm_replyUser.c'; then $(CYGPATH_W) 'mpm_replyUser.c'; else $(CYGPATH_W) '$(srcdir)/mpm_replyUser.c'; fi` +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -c -o launchd-job_replyUser.obj `if test -f 'job_replyUser.c'; then $(CYGPATH_W) 'job_replyUser.c'; else $(CYGPATH_W) '$(srcdir)/job_replyUser.c'; fi` launchd-launchd_runtime.o: launchd_runtime.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(launchd_CFLAGS) $(CFLAGS) -MT launchd-launchd_runtime.o -MD -MP -MF "$(DEPDIR)/launchd-launchd_runtime.Tpo" -c -o launchd-launchd_runtime.o `test -f 'launchd_runtime.c' || echo '$(srcdir)/'`launchd_runtime.c; \ @@ -1014,8 +1013,8 @@ uninstall-sbinSCRIPTS uninstall-sysconfDATA -bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h: $(srcdir)/bootstrap.defs - mig $(MIGFLAGS) -sheader bootstrapServer.h $(srcdir)/bootstrap.defs +bootstrap.h bootstrapServer.c bootstrapUser.c bootstrapServer.h: $(srcdir)/protocol_legacy.defs + mig $(MIGFLAGS) -sheader bootstrapServer.h $(srcdir)/protocol_legacy.defs @LIBS_ONLY_TRUE@$(srcdir)/bootstrap_public.c:: bootstrap.h @@ -1026,13 +1025,13 @@ @LIBS_ONLY_TRUE@ cp liblaunch_profile.a $(DESTDIR)/usr/local/lib/system/liblaunch_profile.a @LIBS_ONLY_FALSE@launchd_runtime.c:: notifyServer.h launchd_internal.h -@LIBS_ONLY_FALSE@launchd_core_logic.c:: bootstrap.h mpm_reply.h bootstrap.h bootstrapServer.h +@LIBS_ONLY_FALSE@launchd_core_logic.c:: bootstrap.h job_reply.h bootstrap.h bootstrapServer.h @LIBS_ONLY_FALSE@notifyServer.c notifyServer.h: /usr/include/mach/notify.defs @LIBS_ONLY_FALSE@ mig $(MIGFLAGS) -header /dev/null -user /dev/null -sheader notifyServer.h /usr/include/mach/notify.defs -@LIBS_ONLY_FALSE@mpm_replyUser.c mpm_reply.h: $(srcdir)/mpm_reply.defs -@LIBS_ONLY_FALSE@ mig $(MIGFLAGS) -sheader /dev/null -server /dev/null $(srcdir)/mpm_reply.defs +@LIBS_ONLY_FALSE@job_replyUser.c job_reply.h: $(srcdir)/protocol_job_reply.defs +@LIBS_ONLY_FALSE@ mig $(MIGFLAGS) -sheader /dev/null -server /dev/null $(srcdir)/protocol_job_reply.defs @LIBS_ONLY_FALSE@launchd_internal.h launchd_internalServer.c launchd_internalUser.c launchd_internalServer.h: $(srcdir)/launchd_internal.defs @LIBS_ONLY_FALSE@ mig $(MIGFLAGS) -sheader launchd_internalServer.h $(srcdir)/launchd_internal.defs Deleted: trunk/launchd/src/bootstrap.defs =================================================================== --- trunk/launchd/src/bootstrap.defs 2006-09-24 21:51:15 UTC (rev 22882) +++ trunk/launchd/src/bootstrap.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -1,140 +0,0 @@ -/* - * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ -/* - * bootstrap -- fundamental service initiator and port server - * Mike DeMoney, NeXT, Inc. - * Copyright, 1990. All rights reserved. - */ - -subsystem bootstrap 400; - -#include <mach/std_types.defs> -#include <mach/mach_types.defs> -import "bootstrap_public.h"; -import "bootstrap_private.h"; - -type pid_t = integer_t; -type cmd_t = c_string[512]; -type cmd_array_t = ^array [] of cmd_t; -type name_t = c_string[128]; -type name_array_t = ^array [] of name_t; -type _internal_string_t = ^array [] of char; -type bootstrap_status_t = integer_t; -type bootstrap_status_array_t = ^array [] of bootstrap_status_t; - -type job_t = mach_port_t - intran: job_t job_mig_intran(mach_port_t) - outtran: mach_port_t job_mig_outtran(job_t) - destructor: job_mig_destructor(job_t) - cusertype: vproc_mig_t; - - -userprefix vproc_mig_; -serverprefix job_mig_; - -routine create_server( - __bs_port : job_t; - __server_cmd : cmd_t; - __server_uid : natural_t; - __on_demand : boolean_t; - ServerAuditToken __token : audit_token_t; - out __server_port : mach_port_make_send_t); - -skip; /* Last used in 10.4. Was bootstrap_unprivileged() */ - -routine check_in( - __bs_port : job_t; - __service_name : name_t; - ServerAuditToken __token : audit_token_t; - out __service_port : mach_port_move_receive_t); - -routine register( - __bs_port : job_t; - ServerAuditToken __token : audit_token_t; - __service_name : name_t; - __service_port : mach_port_t); - -routine look_up( - __bs_port : job_t; - ServerAuditToken __token : audit_token_t; - __service_name : name_t; - out __service_port : mach_port_send_t); - -skip; /* last used in 10.4 */ - -routine parent( - __bs_port : job_t; - out __parent_port : mach_port_send_t); - -skip; /* last used in 10.4 */ - -routine info( - __bs_port : job_t; - out __service_names : name_array_t, dealloc; - out __service_active : bootstrap_status_array_t, dealloc); - -routine subset( - __bs_port : job_t; - __requestor_port: mach_port_t; - out __subset_port : mach_port_make_send_t); - -routine create_service( - __bs_port : job_t; - __service_name : name_t; - out __service_port : mach_port_t); - -routine transfer_subset( - __bs_port : job_t; - out __bs_reqport : mach_port_t; - out __bs_rcvright : mach_port_move_receive_t; - out __service_names : name_array_t, dealloc; - out __service_pids : pointer_t, dealloc; - out __service_ports : mach_port_array_t, dealloc); - -routine getsocket( - __bs_port : job_t; - out __sockpath : name_t); - -routine spawn( - __bs_port : job_t; - ServerAuditToken __token : audit_token_t; - __chars : _internal_string_t; - __argc : uint32_t; - __envc : uint32_t; - __flags : uint64_t; - __umask : uint16_t; - out __pid : pid_t; - out __obsvr_port : mach_port_make_send_t); - -routine wait( - __bs_port : job_t; - sreplyport __rport : mach_port_make_send_once_t; - ServerAuditToken __token : audit_token_t; - out __waitval : integer_t); - -routine uncork_fork( - __bs_port : job_t; - ServerAuditToken __token : audit_token_t); - -/* Essentially the inverse of bootstrap_unprivileged() */ -routine get_self( - __bs_port : job_t; - ServerAuditToken __token : audit_token_t; - out __job_port : mach_port_make_send_t); Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2006-09-24 21:51:15 UTC (rev 22882) +++ trunk/launchd/src/launchd_core_logic.c 2006-09-25 17:47:17 UTC (rev 22883) @@ -80,7 +80,7 @@ #include "bootstrap_private.h" #include "bootstrap.h" #include "bootstrapServer.h" -#include "mpm_reply.h" +#include "job_reply.h" #define LAUNCHD_MIN_JOB_RUN_TIME 10 #define LAUNCHD_ADVISABLE_IDLE_TIMEOUT 30 @@ -1474,7 +1474,7 @@ if (j->wait_reply_port) { job_log(j, LOG_DEBUG, "MPM wait reply being sent"); - job_assumes(j, mpm_wait_reply(j->wait_reply_port, 0, status) == 0); + job_assumes(j, job_mig_wait_reply(j->wait_reply_port, 0, status) == 0); j->wait_reply_port = MACH_PORT_NULL; } Copied: trunk/launchd/src/launchd_mig_types.defs (from rev 22882, trunk/launchd/src/bootstrap.defs) =================================================================== --- trunk/launchd/src/launchd_mig_types.defs (rev 0) +++ trunk/launchd/src/launchd_mig_types.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -0,0 +1,39 @@ +/* + * Copyright (c) 1999-2006 Apple Computer, Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ +/* + * bootstrap -- fundamental service initiator and port server + * Mike DeMoney, NeXT, Inc. + * Copyright, 1990. All rights reserved. + */ + +type pid_t = integer_t; +type cmd_t = c_string[512]; +type cmd_array_t = ^array [] of cmd_t; +type name_t = c_string[128]; +type name_array_t = ^array [] of name_t; +type _internal_string_t = ^array [] of char; +type bootstrap_status_t = integer_t; +type bootstrap_status_array_t = ^array [] of bootstrap_status_t; + +type job_t = mach_port_t + intran: job_t job_mig_intran(mach_port_t) + outtran: mach_port_t job_mig_outtran(job_t) + destructor: job_mig_destructor(job_t) + cusertype: vproc_mig_t; Deleted: trunk/launchd/src/mpm_reply.defs =================================================================== --- trunk/launchd/src/mpm_reply.defs 2006-09-24 21:51:15 UTC (rev 22882) +++ trunk/launchd/src/mpm_reply.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006 Apple Computer, Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -subsystem mpm_reply 500; - -#include <mach/std_types.defs> -#include <mach/mach_types.defs> -import "bootstrap_public.h"; -import "bootstrap_private.h"; - -type pid_t = integer_t; - -skip; /* create_server */ - -skip; /* unprivileged */ - -skip; /* check_in */ - -skip; /* register */ - -skip; /* look_up */ - -skip; - -skip; /* parent */ - -skip; - -skip; /* info */ - -skip; /* subset */ - -skip; /* create_service */ - -skip; /* transfer_subset */ - -skip; /* getsocket */ - -skip; /* spawn */ - -simpleroutine mpm_wait_reply( - __r_port : mach_port_move_send_once_t; - __result : kern_return_t, RetCode; - __wait : integer_t); Copied: trunk/launchd/src/protocol_job.defs (from rev 22882, trunk/launchd/src/bootstrap.defs) =================================================================== --- trunk/launchd/src/protocol_job.defs (rev 0) +++ trunk/launchd/src/protocol_job.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -0,0 +1,125 @@ +/* + * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ +/* + * bootstrap -- fundamental service initiator and port server + * Mike DeMoney, NeXT, Inc. + * Copyright, 1990. All rights reserved. + */ + +subsystem bootstrap 400; + +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +#include "launchd_mig_types.defs" +import "bootstrap_public.h"; +import "bootstrap_private.h"; + +userprefix vproc_mig_; +serverprefix job_mig_; + +routine create_server( + __bs_port : job_t; + __server_cmd : cmd_t; + __server_uid : natural_t; + __on_demand : boolean_t; + ServerAuditToken __token : audit_token_t; + out __server_port : mach_port_make_send_t); + +skip; /* Last used in 10.4. Was bootstrap_unprivileged() */ + +routine check_in( + __bs_port : job_t; + __service_name : name_t; + ServerAuditToken __token : audit_token_t; + out __service_port : mach_port_move_receive_t); + +routine register( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + __service_port : mach_port_t); + +routine look_up( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + out __service_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine parent( + __bs_port : job_t; + out __parent_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine info( + __bs_port : job_t; + out __service_names : name_array_t, dealloc; + out __service_active : bootstrap_status_array_t, dealloc); + +routine subset( + __bs_port : job_t; + __requestor_port: mach_port_t; + out __subset_port : mach_port_make_send_t); + +routine create_service( + __bs_port : job_t; + __service_name : name_t; + out __service_port : mach_port_t); + +routine transfer_subset( + __bs_port : job_t; + out __bs_reqport : mach_port_t; + out __bs_rcvright : mach_port_move_receive_t; + out __service_names : name_array_t, dealloc; + out __service_pids : pointer_t, dealloc; + out __service_ports : mach_port_array_t, dealloc); + +routine getsocket( + __bs_port : job_t; + out __sockpath : name_t); + +routine spawn( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __chars : _internal_string_t; + __argc : uint32_t; + __envc : uint32_t; + __flags : uint64_t; + __umask : uint16_t; + out __pid : pid_t; + out __obsvr_port : mach_port_make_send_t); + +routine wait( + __bs_port : job_t; + sreplyport __rport : mach_port_make_send_once_t; + ServerAuditToken __token : audit_token_t; + out __waitval : integer_t); + +routine uncork_fork( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t); + +/* Essentially the inverse of bootstrap_unprivileged() */ +routine get_self( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + out __job_port : mach_port_make_send_t); Copied: trunk/launchd/src/protocol_job_reply.defs (from rev 22882, trunk/launchd/src/mpm_reply.defs) =================================================================== --- trunk/launchd/src/protocol_job_reply.defs (rev 0) +++ trunk/launchd/src/protocol_job_reply.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2006 Apple Computer, Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ + +subsystem job_reply 500; + +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +#include "launchd_mig_types.defs" +import "bootstrap_public.h"; +import "bootstrap_private.h"; + +skip; /* create_server */ + +skip; /* unprivileged */ + +skip; /* check_in */ + +skip; /* register */ + +skip; /* look_up */ + +skip; + +skip; /* parent */ + +skip; + +skip; /* info */ + +skip; /* subset */ + +skip; /* create_service */ + +skip; /* transfer_subset */ + +skip; /* getsocket */ + +skip; /* spawn */ + +simpleroutine job_mig_wait_reply( + __r_port : mach_port_move_send_once_t; + __result : kern_return_t, RetCode; + __wait : integer_t); Copied: trunk/launchd/src/protocol_jobmgr.defs (from rev 22882, trunk/launchd/src/bootstrap.defs) =================================================================== --- trunk/launchd/src/protocol_jobmgr.defs (rev 0) +++ trunk/launchd/src/protocol_jobmgr.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -0,0 +1,125 @@ +/* + * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ +/* + * bootstrap -- fundamental service initiator and port server + * Mike DeMoney, NeXT, Inc. + * Copyright, 1990. All rights reserved. + */ + +subsystem bootstrap 400; + +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +#include "launchd_mig_types.defs" +import "bootstrap_public.h"; +import "bootstrap_private.h"; + +userprefix vproc_mig_; +serverprefix job_mig_; + +routine create_server( + __bs_port : job_t; + __server_cmd : cmd_t; + __server_uid : natural_t; + __on_demand : boolean_t; + ServerAuditToken __token : audit_token_t; + out __server_port : mach_port_make_send_t); + +skip; /* Last used in 10.4. Was bootstrap_unprivileged() */ + +routine check_in( + __bs_port : job_t; + __service_name : name_t; + ServerAuditToken __token : audit_token_t; + out __service_port : mach_port_move_receive_t); + +routine register( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + __service_port : mach_port_t); + +routine look_up( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + out __service_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine parent( + __bs_port : job_t; + out __parent_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine info( + __bs_port : job_t; + out __service_names : name_array_t, dealloc; + out __service_active : bootstrap_status_array_t, dealloc); + +routine subset( + __bs_port : job_t; + __requestor_port: mach_port_t; + out __subset_port : mach_port_make_send_t); + +routine create_service( + __bs_port : job_t; + __service_name : name_t; + out __service_port : mach_port_t); + +routine transfer_subset( + __bs_port : job_t; + out __bs_reqport : mach_port_t; + out __bs_rcvright : mach_port_move_receive_t; + out __service_names : name_array_t, dealloc; + out __service_pids : pointer_t, dealloc; + out __service_ports : mach_port_array_t, dealloc); + +routine getsocket( + __bs_port : job_t; + out __sockpath : name_t); + +routine spawn( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __chars : _internal_string_t; + __argc : uint32_t; + __envc : uint32_t; + __flags : uint64_t; + __umask : uint16_t; + out __pid : pid_t; + out __obsvr_port : mach_port_make_send_t); + +routine wait( + __bs_port : job_t; + sreplyport __rport : mach_port_make_send_once_t; + ServerAuditToken __token : audit_token_t; + out __waitval : integer_t); + +routine uncork_fork( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t); + +/* Essentially the inverse of bootstrap_unprivileged() */ +routine get_self( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + out __job_port : mach_port_make_send_t); Copied: trunk/launchd/src/protocol_legacy.defs (from rev 22882, trunk/launchd/src/bootstrap.defs) =================================================================== --- trunk/launchd/src/protocol_legacy.defs (rev 0) +++ trunk/launchd/src/protocol_legacy.defs 2006-09-25 17:47:17 UTC (rev 22883) @@ -0,0 +1,125 @@ +/* + * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ +/* + * bootstrap -- fundamental service initiator and port server + * Mike DeMoney, NeXT, Inc. + * Copyright, 1990. All rights reserved. + */ + +subsystem bootstrap 400; + +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +#include "launchd_mig_types.defs" +import "bootstrap_public.h"; +import "bootstrap_private.h"; + +userprefix vproc_mig_; +serverprefix job_mig_; + +routine create_server( + __bs_port : job_t; + __server_cmd : cmd_t; + __server_uid : natural_t; + __on_demand : boolean_t; + ServerAuditToken __token : audit_token_t; + out __server_port : mach_port_make_send_t); + +skip; /* Last used in 10.4. Was bootstrap_unprivileged() */ + +routine check_in( + __bs_port : job_t; + __service_name : name_t; + ServerAuditToken __token : audit_token_t; + out __service_port : mach_port_move_receive_t); + +routine register( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + __service_port : mach_port_t); + +routine look_up( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __service_name : name_t; + out __service_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine parent( + __bs_port : job_t; + out __parent_port : mach_port_send_t); + +skip; /* last used in 10.4 */ + +routine info( + __bs_port : job_t; + out __service_names : name_array_t, dealloc; + out __service_active : bootstrap_status_array_t, dealloc); + +routine subset( + __bs_port : job_t; + __requestor_port: mach_port_t; + out __subset_port : mach_port_make_send_t); + +routine create_service( + __bs_port : job_t; + __service_name : name_t; + out __service_port : mach_port_t); + +routine transfer_subset( + __bs_port : job_t; + out __bs_reqport : mach_port_t; + out __bs_rcvright : mach_port_move_receive_t; + out __service_names : name_array_t, dealloc; + out __service_pids : pointer_t, dealloc; + out __service_ports : mach_port_array_t, dealloc); + +routine getsocket( + __bs_port : job_t; + out __sockpath : name_t); + +routine spawn( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + __chars : _internal_string_t; + __argc : uint32_t; + __envc : uint32_t; + __flags : uint64_t; + __umask : uint16_t; + out __pid : pid_t; + out __obsvr_port : mach_port_make_send_t); + +routine wait( + __bs_port : job_t; + sreplyport __rport : mach_port_make_send_once_t; + ServerAuditToken __token : audit_token_t; + out __waitval : integer_t); + +routine uncork_fork( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t); + +/* Essentially the inverse of bootstrap_unprivileged() */ +routine get_self( + __bs_port : job_t; + ServerAuditToken __token : audit_token_t; + out __job_port : mach_port_make_send_t);
participants (1)
-
source_changes@macosforge.org