[launchd-changes] [22911] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Mon Oct 23 13:10:12 PDT 2006


Revision: 22911
          http://trac.macosforge.org/projects/launchd/changeset/22911
Author:   zarzycki at apple.com
Date:     2006-10-23 13:10:11 -0700 (Mon, 23 Oct 2006)

Log Message:
-----------
Let's put all the old bootstrap_*() APIs in their own file.

Modified Paths:
--------------
    trunk/launchd/src/Makefile.am
    trunk/launchd/src/Makefile.in
    trunk/launchd/src/bootstrap_public.h
    trunk/launchd/src/launch.h
    trunk/launchd/src/launch_priv.h
    trunk/launchd/src/libbootstrap.c
    trunk/launchd/src/libvproc.c
    trunk/launchd/src/vproc_priv.h

Modified: trunk/launchd/src/Makefile.am
===================================================================
--- trunk/launchd/src/Makefile.am	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/Makefile.am	2006-10-23 20:10:11 UTC (rev 22911)
@@ -1,4 +1,4 @@
-AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1
+AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
 
 CLEANFILES = protocol_vproc.h protocol_vprocServer.c protocol_vprocUser.c protocol_vprocServer.h		\
 	     launchd_internal.h launchd_internalServer.h launchd_internalServer.h launchd_internalUser.c	\
@@ -11,13 +11,15 @@
 
 noinst_LIBRARIES = liblaunch.a liblaunch_profile.a
 
-liblaunch_a_SOURCES = liblaunch.c libvproc.c
+liblaunch_a_SOURCES = liblaunch.c libvproc.c libbootstrap.c protocol_vprocUser.c
 
 liblaunch_profile_a_CFLAGS = -pg $(AM_CFLAGS)
-liblaunch_profile_a_SOURCES = liblaunch.c libvproc.c
+liblaunch_profile_a_SOURCES = liblaunch.c libvproc.c libbootstrap.c protocol_vprocUser.c
 
 $(srcdir)/libvproc.c:: protocol_vproc.h
 
+$(srcdir)/protocol_vprocUser.c:: protocol_vproc.h
+
 install-data-hook:
 	mkdir -p $(DESTDIR)/usr/local/lib/system
 	cp liblaunch.a $(DESTDIR)/usr/local/lib/system
@@ -34,14 +36,14 @@
 
 sysconf_DATA = hostconfig rc.common rc.netboot rc.shutdown
 
-launchctl_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden -I/System/Library/Frameworks/System.framework/PrivateHeaders
+launchctl_CFLAGS = $(AM_CFLAGS) -I/System/Library/Frameworks/System.framework/PrivateHeaders
 launchctl_LDFLAGS = -framework CoreFoundation -weak_library /usr/lib/libedit.dylib
 
-SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -fvisibility=hidden
+SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS)
 SystemStarter_LDFLAGS = -framework CoreFoundation
 SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c
 
-launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter -fvisibility=hidden
+launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter
 launchd_LDFLAGS = -lbsm
 launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c protocol_vprocServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c
 

Modified: trunk/launchd/src/Makefile.in
===================================================================
--- trunk/launchd/src/Makefile.in	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/Makefile.in	2006-10-23 20:10:11 UTC (rev 22911)
@@ -56,16 +56,21 @@
 ARFLAGS = cru
 liblaunch_a_AR = $(AR) $(ARFLAGS)
 liblaunch_a_LIBADD =
-am__liblaunch_a_SOURCES_DIST = liblaunch.c libvproc.c
+am__liblaunch_a_SOURCES_DIST = liblaunch.c libvproc.c libbootstrap.c \
+	protocol_vprocUser.c
 @LIBS_ONLY_TRUE at am_liblaunch_a_OBJECTS = liblaunch.$(OBJEXT) \
- at LIBS_ONLY_TRUE@	libvproc.$(OBJEXT)
+ at LIBS_ONLY_TRUE@	libvproc.$(OBJEXT) libbootstrap.$(OBJEXT) \
+ at LIBS_ONLY_TRUE@	protocol_vprocUser.$(OBJEXT)
 liblaunch_a_OBJECTS = $(am_liblaunch_a_OBJECTS)
 liblaunch_profile_a_AR = $(AR) $(ARFLAGS)
 liblaunch_profile_a_LIBADD =
-am__liblaunch_profile_a_SOURCES_DIST = liblaunch.c libvproc.c
+am__liblaunch_profile_a_SOURCES_DIST = liblaunch.c libvproc.c \
+	libbootstrap.c protocol_vprocUser.c
 @LIBS_ONLY_TRUE at am_liblaunch_profile_a_OBJECTS =  \
 @LIBS_ONLY_TRUE@	liblaunch_profile_a-liblaunch.$(OBJEXT) \
- at LIBS_ONLY_TRUE@	liblaunch_profile_a-libvproc.$(OBJEXT)
+ at LIBS_ONLY_TRUE@	liblaunch_profile_a-libvproc.$(OBJEXT) \
+ at LIBS_ONLY_TRUE@	liblaunch_profile_a-libbootstrap.$(OBJEXT) \
+ at LIBS_ONLY_TRUE@	liblaunch_profile_a-protocol_vprocUser.$(OBJEXT)
 liblaunch_profile_a_OBJECTS = $(am_liblaunch_profile_a_OBJECTS)
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" \
 	"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)" \
@@ -221,23 +226,23 @@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1
+AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
 CLEANFILES = protocol_vproc.h protocol_vprocServer.c protocol_vprocUser.c protocol_vprocServer.h		\
 	     launchd_internal.h launchd_internalServer.h launchd_internalServer.h launchd_internalUser.c	\
 	     notifyServer.c notifyServer.h job_replyUser.c job_reply.h 
 
 @LIBS_ONLY_TRUE at noinst_LIBRARIES = liblaunch.a liblaunch_profile.a
- at LIBS_ONLY_TRUE@liblaunch_a_SOURCES = liblaunch.c libvproc.c
+ at LIBS_ONLY_TRUE@liblaunch_a_SOURCES = liblaunch.c libvproc.c libbootstrap.c protocol_vprocUser.c
 @LIBS_ONLY_TRUE at liblaunch_profile_a_CFLAGS = -pg $(AM_CFLAGS)
- at LIBS_ONLY_TRUE@liblaunch_profile_a_SOURCES = liblaunch.c libvproc.c
+ at LIBS_ONLY_TRUE@liblaunch_profile_a_SOURCES = liblaunch.c libvproc.c libbootstrap.c protocol_vprocUser.c
 @LIBS_ONLY_FALSE at sbin_SCRIPTS = service
 @LIBS_ONLY_FALSE at sysconf_DATA = hostconfig rc.common rc.netboot rc.shutdown
- at LIBS_ONLY_FALSE@launchctl_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden -I/System/Library/Frameworks/System.framework/PrivateHeaders
+ at LIBS_ONLY_FALSE@launchctl_CFLAGS = $(AM_CFLAGS) -I/System/Library/Frameworks/System.framework/PrivateHeaders
 @LIBS_ONLY_FALSE at launchctl_LDFLAGS = -framework CoreFoundation -weak_library /usr/lib/libedit.dylib
- at LIBS_ONLY_FALSE@SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -fvisibility=hidden
+ at LIBS_ONLY_FALSE@SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS)
 @LIBS_ONLY_FALSE at SystemStarter_LDFLAGS = -framework CoreFoundation
 @LIBS_ONLY_FALSE at SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c
- at LIBS_ONLY_FALSE@launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter -fvisibility=hidden
+ at LIBS_ONLY_FALSE@launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter
 @LIBS_ONLY_FALSE at launchd_LDFLAGS = -lbsm
 @LIBS_ONLY_FALSE at launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c init.c protocol_vprocServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c
 @LIBS_ONLY_FALSE at launchproxy_LDFLAGS = -weak_framework Security
@@ -432,10 +437,14 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/launchd-notifyServer.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/launchd-protocol_vprocServer.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/launchproxy.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libbootstrap.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/liblaunch.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/liblaunch_profile_a-libbootstrap.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/liblaunch_profile_a-liblaunch.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/liblaunch_profile_a-libvproc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libvproc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/protocol_vprocUser.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wait4path.Po at am__quote@
 
 .c.o:
@@ -480,6 +489,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -c -o liblaunch_profile_a-libvproc.obj `if test -f 'libvproc.c'; then $(CYGPATH_W) 'libvproc.c'; else $(CYGPATH_W) '$(srcdir)/libvproc.c'; fi`
 
+liblaunch_profile_a-libbootstrap.o: libbootstrap.c
+ at am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -MT liblaunch_profile_a-libbootstrap.o -MD -MP -MF "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo" -c -o liblaunch_profile_a-libbootstrap.o `test -f 'libbootstrap.c' || echo '$(srcdir)/'`libbootstrap.c; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo" "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Po"; else rm -f "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libbootstrap.c' object='liblaunch_profile_a-libbootstrap.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -c -o liblaunch_profile_a-libbootstrap.o `test -f 'libbootstrap.c' || echo '$(srcdir)/'`libbootstrap.c
+
+liblaunch_profile_a-libbootstrap.obj: libbootstrap.c
+ at am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -MT liblaunch_profile_a-libbootstrap.obj -MD -MP -MF "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo" -c -o liblaunch_profile_a-libbootstrap.obj `if test -f 'libbootstrap.c'; then $(CYGPATH_W) 'libbootstrap.c'; else $(CYGPATH_W) '$(srcdir)/libbootstrap.c'; fi`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo" "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Po"; else rm -f "$(DEPDIR)/liblaunch_profile_a-libbootstrap.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libbootstrap.c' object='liblaunch_profile_a-libbootstrap.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -c -o liblaunch_profile_a-libbootstrap.obj `if test -f 'libbootstrap.c'; then $(CYGPATH_W) 'libbootstrap.c'; else $(CYGPATH_W) '$(srcdir)/libbootstrap.c'; fi`
+
+liblaunch_profile_a-protocol_vprocUser.o: protocol_vprocUser.c
+ at am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -MT liblaunch_profile_a-protocol_vprocUser.o -MD -MP -MF "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo" -c -o liblaunch_profile_a-protocol_vprocUser.o `test -f 'protocol_vprocUser.c' || echo '$(srcdir)/'`protocol_vprocUser.c; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo" "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Po"; else rm -f "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='protocol_vprocUser.c' object='liblaunch_profile_a-protocol_vprocUser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -c -o liblaunch_profile_a-protocol_vprocUser.o `test -f 'protocol_vprocUser.c' || echo '$(srcdir)/'`protocol_vprocUser.c
+
+liblaunch_profile_a-protocol_vprocUser.obj: protocol_vprocUser.c
+ at am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -MT liblaunch_profile_a-protocol_vprocUser.obj -MD -MP -MF "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo" -c -o liblaunch_profile_a-protocol_vprocUser.obj `if test -f 'protocol_vprocUser.c'; then $(CYGPATH_W) 'protocol_vprocUser.c'; else $(CYGPATH_W) '$(srcdir)/protocol_vprocUser.c'; fi`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo" "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Po"; else rm -f "$(DEPDIR)/liblaunch_profile_a-protocol_vprocUser.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='protocol_vprocUser.c' object='liblaunch_profile_a-protocol_vprocUser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblaunch_profile_a_CFLAGS) $(CFLAGS) -c -o liblaunch_profile_a-protocol_vprocUser.obj `if test -f 'protocol_vprocUser.c'; then $(CYGPATH_W) 'protocol_vprocUser.c'; else $(CYGPATH_W) '$(srcdir)/protocol_vprocUser.c'; fi`
+
 SystemStarter-StartupItems.o: StartupItems.c
 @am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SystemStarter_CFLAGS) $(CFLAGS) -MT SystemStarter-StartupItems.o -MD -MP -MF "$(DEPDIR)/SystemStarter-StartupItems.Tpo" -c -o SystemStarter-StartupItems.o `test -f 'StartupItems.c' || echo '$(srcdir)/'`StartupItems.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/SystemStarter-StartupItems.Tpo" "$(DEPDIR)/SystemStarter-StartupItems.Po"; else rm -f "$(DEPDIR)/SystemStarter-StartupItems.Tpo"; exit 1; fi
@@ -1018,6 +1055,8 @@
 
 @LIBS_ONLY_TRUE@$(srcdir)/libvproc.c:: protocol_vproc.h
 
+ at LIBS_ONLY_TRUE@$(srcdir)/protocol_vprocUser.c:: protocol_vproc.h
+
 @LIBS_ONLY_TRUE at install-data-hook:
 @LIBS_ONLY_TRUE@	mkdir -p $(DESTDIR)/usr/local/lib/system
 @LIBS_ONLY_TRUE@	cp liblaunch.a $(DESTDIR)/usr/local/lib/system

Modified: trunk/launchd/src/bootstrap_public.h
===================================================================
--- trunk/launchd/src/bootstrap_public.h	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/bootstrap_public.h	2006-10-23 20:10:11 UTC (rev 22911)
@@ -86,6 +86,8 @@
 
 __BEGIN_DECLS
 
+#pragma GCC visibility push(default)
+
 #define	BOOTSTRAP_MAX_NAME_LEN			128
 #define	BOOTSTRAP_MAX_CMD_LEN			512
 
@@ -342,6 +344,8 @@
  */
 const char *bootstrap_strerror(kern_return_t r) __attribute__((__nothrow__, __pure__, __warn_unused_result__));
 
+#pragma GCC visibility pop
+
 __END_DECLS
 
 #endif

Modified: trunk/launchd/src/launch.h
===================================================================
--- trunk/launchd/src/launch.h	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/launch.h	2006-10-23 20:10:11 UTC (rev 22911)
@@ -25,6 +25,8 @@
 #include <stddef.h>
 #include <stdbool.h>
 
+#pragma GCC visibility push(default)
+
 __BEGIN_DECLS
 
 #ifdef __GNUC__
@@ -214,4 +216,6 @@
 
 __END_DECLS
 
+#pragma GCC visibility pop
+
 #endif

Modified: trunk/launchd/src/launch_priv.h
===================================================================
--- trunk/launchd/src/launch_priv.h	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/launch_priv.h	2006-10-23 20:10:11 UTC (rev 22911)
@@ -22,6 +22,8 @@
 
 #include <launch.h>
 
+#pragma GCC visibility push(default)
+
 __BEGIN_DECLS
 
 #define LAUNCH_KEY_GETUSERENVIRONMENT	"GetUserEnvironment"
@@ -115,4 +117,7 @@
 
 __END_DECLS
 
+#pragma GCC visibility pop
+
+
 #endif

Modified: trunk/launchd/src/libbootstrap.c
===================================================================
--- trunk/launchd/src/libbootstrap.c	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/libbootstrap.c	2006-10-23 20:10:11 UTC (rev 22911)
@@ -22,130 +22,17 @@
 #include <mach/vm_map.h>
 
 #include "bootstrap_public.h"
-#include "bootstrap_private.h"
+#include "vproc_priv.h"
 #include "launch.h"
 #include "launch_priv.h"
 
-#define mig_external static
-#include "bootstrap.h"
-#include "bootstrapUser.c"
+#include "protocol_vproc.h"
 
 #include <sys/param.h>
 #include <stdlib.h>
 #include <errno.h>
 
 kern_return_t
-_launchd_to_launchd(mach_port_t bp, mach_port_t *reqport, mach_port_t *rcvright,
-		name_array_t *service_names, mach_msg_type_number_t *service_namesCnt,
-		mach_port_array_t *ports, mach_msg_type_number_t *portCnt)
-{
-	return vproc_mig_transfer_subset(bp, reqport, rcvright, service_names, service_namesCnt, ports, portCnt);
-}
-
-pid_t
-_spawn_via_launchd(const char *label, const char *const *argv, const struct spawn_via_launchd_attr *spawn_attrs, int struct_version)
-{
-	kern_return_t kr;
-	const char *const *tmpp;
-	size_t len, buf_len = strlen(label) + 1;
-	char *buf = strdup(label);
-	uint64_t flags = 0;
-	uint32_t argc = 0;
-	uint32_t envc = 0;
-	pid_t p = -1;
-	mode_t u_mask = CMASK;
-	mach_port_t obsvr_port = MACH_PORT_NULL;
-
-	for (tmpp = argv; *tmpp; tmpp++) {
-		argc++;
-		len = strlen(*tmpp) + 1;
-		buf = reallocf(buf, buf_len + len);
-		strcpy(buf + buf_len, *tmpp);
-		buf_len += len;
-	}
-
-	if (spawn_attrs) switch (struct_version) {
-	case 0:
-		if (spawn_attrs->spawn_flags & SPAWN_VIA_LAUNCHD_STOPPED) {
-			flags |= SPAWN_WANTS_WAIT4DEBUGGER;
-		}
-		if (spawn_attrs->spawn_flags & SPAWN_VIA_LAUNCHD_FORCE_PPC) {
-			flags |= SPAWN_WANTS_FORCE_PPC;
-		}
-
-		if (spawn_attrs->spawn_env) {
-			for (tmpp = spawn_attrs->spawn_env; *tmpp; tmpp++) {
-				envc++;
-				len = strlen(*tmpp) + 1;
-				buf = reallocf(buf, buf_len + len);
-				strcpy(buf + buf_len, *tmpp);
-				buf_len += len;
-			}
-		}
-
-		if (spawn_attrs->spawn_path) {
-			flags |= SPAWN_HAS_PATH;
-			len = strlen(spawn_attrs->spawn_path) + 1;
-			buf = reallocf(buf, buf_len + len);
-			strcpy(buf + buf_len, spawn_attrs->spawn_path);
-			buf_len += len;
-		}
-
-		if (spawn_attrs->spawn_chdir) {
-			flags |= SPAWN_HAS_WDIR;
-			len = strlen(spawn_attrs->spawn_chdir) + 1;
-			buf = reallocf(buf, buf_len + len);
-			strcpy(buf + buf_len, spawn_attrs->spawn_chdir);
-			buf_len += len;
-		}
-
-		if (spawn_attrs->spawn_umask) {
-			flags |= SPAWN_HAS_UMASK;
-			u_mask = *spawn_attrs->spawn_umask;
-		}
-
-		break;
-	default:
-		break;
-	}
-
-	kr = vproc_mig_spawn(bootstrap_port, buf, buf_len, argc, envc, flags, u_mask, &p, &obsvr_port);
-
-	free(buf);
-
-	if (kr == BOOTSTRAP_SUCCESS) {
-		if (spawn_attrs && spawn_attrs->spawn_observer_port) {
-			*spawn_attrs->spawn_observer_port = obsvr_port;
-		} else {
-			mach_port_deallocate(mach_task_self(), obsvr_port);
-		}
-		return p;
-	}
-
-	switch (kr) {
-	case BOOTSTRAP_NOT_PRIVILEGED:
-		errno = EPERM; break;
-	case BOOTSTRAP_NO_MEMORY:
-		errno = ENOMEM; break;
-	default:
-		errno = EINVAL; break;
-	}
-	return -1;
-}
-
-kern_return_t
-mpm_wait(mach_port_t ajob, int *wstatus)
-{
-	return vproc_mig_wait(ajob, wstatus);
-}
-
-kern_return_t
-mpm_uncork_fork(mach_port_t ajob)
-{
-	return vproc_mig_uncork_fork(ajob);
-}
-
-kern_return_t
 bootstrap_create_server(mach_port_t bp, cmd_t server_cmd, uid_t server_uid, boolean_t on_demand, mach_port_t *server_port)
 {
 	return vproc_mig_create_server(bp, server_cmd, server_uid, on_demand, server_port);
@@ -174,12 +61,6 @@
 }
 
 kern_return_t
-bootstrap_getsocket(mach_port_t bp, name_t sockpath)
-{
-	return vproc_mig_getsocket(bp, sockpath);
-}
-
-kern_return_t
 bootstrap_parent(mach_port_t bp, mach_port_t *parent_port)
 {
 	return vproc_mig_parent(bp, parent_port);
@@ -267,7 +148,6 @@
 			service_active, service_activeCnt);
 }
 
-
 const char *
 bootstrap_strerror(kern_return_t r)
 {

Modified: trunk/launchd/src/libvproc.c
===================================================================
--- trunk/launchd/src/libvproc.c	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/libvproc.c	2006-10-23 20:10:11 UTC (rev 22911)
@@ -26,9 +26,7 @@
 #include "launch.h"
 #include "launch_priv.h"
 
-#define mig_external static
 #include "protocol_vproc.h"
-#include "protocol_vprocUser.c"
 
 #include <sys/param.h>
 #include <stdlib.h>
@@ -146,146 +144,7 @@
 }
 
 kern_return_t
-bootstrap_create_server(mach_port_t bp, cmd_t server_cmd, uid_t server_uid, boolean_t on_demand, mach_port_t *server_port)
-{
-	return vproc_mig_create_server(bp, server_cmd, server_uid, on_demand, server_port);
-}
-
-kern_return_t
-bootstrap_subset(mach_port_t bp, mach_port_t requestor_port, mach_port_t *subset_port)
-{
-	return vproc_mig_subset(bp, requestor_port, subset_port);
-}
-
-kern_return_t
-bootstrap_unprivileged(mach_port_t bp, mach_port_t *unpriv_port)
-{
-	kern_return_t kr;
-
-	*unpriv_port = MACH_PORT_NULL;
-
-	kr = mach_port_mod_refs(mach_task_self(), bp, MACH_PORT_RIGHT_SEND, 1);
-
-	if (kr == KERN_SUCCESS) {
-		*unpriv_port = bp;
-	}
-
-	return kr;
-}
-
-kern_return_t
 bootstrap_getsocket(mach_port_t bp, name_t sockpath)
 {
 	return vproc_mig_getsocket(bp, sockpath);
 }
-
-kern_return_t
-bootstrap_parent(mach_port_t bp, mach_port_t *parent_port)
-{
-	return vproc_mig_parent(bp, parent_port);
-}
-
-kern_return_t
-bootstrap_register(mach_port_t bp, name_t service_name, mach_port_t sp)
-{
-	return vproc_mig_register(bp, service_name, sp);
-}
-
-kern_return_t
-bootstrap_create_service(mach_port_t bp, name_t service_name, mach_port_t *sp)
-{
-	return vproc_mig_create_service(bp, service_name, sp);
-}
-
-kern_return_t
-bootstrap_check_in(mach_port_t bp, name_t service_name, mach_port_t *sp)
-{
-	return vproc_mig_check_in(bp, service_name, sp);
-}
-
-kern_return_t
-bootstrap_look_up(mach_port_t bp, name_t service_name, mach_port_t *sp)
-{
-	return vproc_mig_look_up(bp, service_name, sp);
-}
-
-kern_return_t
-bootstrap_look_up_array(mach_port_t bp,
-		name_array_t names, mach_msg_type_number_t name_cnt,
-		mach_port_array_t *ports, mach_msg_type_number_t *port_cnt,
-		boolean_t *all)
-{
-	unsigned int i;
-	kern_return_t r;
-
-	if (name_cnt > BOOTSTRAP_MAX_LOOKUP_COUNT)
-		return BOOTSTRAP_BAD_COUNT;
-
-	*port_cnt = name_cnt;
-
-	r = vm_allocate(mach_task_self(), (vm_address_t *)&ports, name_cnt * sizeof(mach_port_t), true);
-
-	if (r != KERN_SUCCESS)
-		return r;
-
-	*all = true;
-
-	for (i = 0; i < name_cnt; i++) {
-		if (bootstrap_look_up(bp, names[i], &((*ports)[i])) == BOOTSTRAP_SUCCESS)
-			continue;
-		*all = false;
-		ports[i] = MACH_PORT_NULL;
-	}
-
-	return BOOTSTRAP_SUCCESS;
-}
-
-kern_return_t
-bootstrap_status(mach_port_t bp, name_t service_name, bootstrap_status_t *service_active)
-{
-	mach_port_t p;
-
-	if (bootstrap_check_in(bp, service_name, &p) == BOOTSTRAP_SUCCESS) {
-		mach_port_mod_refs(mach_task_self(), p, MACH_PORT_RIGHT_RECEIVE, -1);
-		*service_active = BOOTSTRAP_STATUS_ON_DEMAND;
-		return BOOTSTRAP_SUCCESS;
-	} else if (bootstrap_look_up(bp, service_name, &p) == BOOTSTRAP_SUCCESS) {
-		mach_port_deallocate(mach_task_self(), p);
-		*service_active = BOOTSTRAP_STATUS_ACTIVE;
-		return BOOTSTRAP_SUCCESS;
-	}
-
-	return BOOTSTRAP_UNKNOWN_SERVICE;
-}
-
-kern_return_t
-bootstrap_info(mach_port_t bp,
-		name_array_t *service_names, mach_msg_type_number_t *service_namesCnt,
-		bootstrap_status_array_t *service_active, mach_msg_type_number_t *service_activeCnt)
-{
-	return vproc_mig_info(bp, service_names, service_namesCnt,
-			service_active, service_activeCnt);
-}
-
-
-const char *
-bootstrap_strerror(kern_return_t r)
-{
-	switch (r) {
-	case BOOTSTRAP_SUCCESS:
-		return "Success";
-	case BOOTSTRAP_NOT_PRIVILEGED:
-		return "Permission denied";
-	case BOOTSTRAP_NAME_IN_USE:
-	case BOOTSTRAP_SERVICE_ACTIVE:
-		return "Service name already exists";
-	case BOOTSTRAP_UNKNOWN_SERVICE:
-		return "Unknown service name";
-	case BOOTSTRAP_BAD_COUNT:
-		return "Too many lookups were requested in one request";
-	case BOOTSTRAP_NO_MEMORY:
-		return "Out of memory";
-	default:
-		return mach_error_string(r);
-	}
-}

Modified: trunk/launchd/src/vproc_priv.h
===================================================================
--- trunk/launchd/src/vproc_priv.h	2006-10-23 17:46:23 UTC (rev 22910)
+++ trunk/launchd/src/vproc_priv.h	2006-10-23 20:10:11 UTC (rev 22911)
@@ -20,6 +20,7 @@
  * @APPLE_APACHE_LICENSE_HEADER_END@
  */
 
+
 typedef char * _internal_string_t;
 typedef mach_port_t vproc_mig_t;
 
@@ -28,6 +29,8 @@
 #include "launchd_core_logic.h"
 #endif
 
+#pragma GCC visibility push(default)
+
 #define SPAWN_HAS_PATH			0x0001
 #define SPAWN_HAS_WDIR			0x0002
 #define SPAWN_HAS_UMASK			0x0004
@@ -59,4 +62,6 @@
 		bootstrap_status_array_t *service_active,
 		mach_msg_type_number_t *service_activeCnt);
 
+#pragma GCC visibility pop
+
 #endif

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20061023/7ae5da37/attachment.html


More information about the launchd-changes mailing list