[SCM] jackd2/master: Refresh VCS patch

adiknoth-guest at users.alioth.debian.org adiknoth-guest at users.alioth.debian.org
Mon Nov 22 19:00:59 UTC 2010


The following commit has been merged in the master branch:
commit c6afb252655ac3c7cb6ddfeff867fac4211b7c34
Author: Adrian Knoth <adi at drcomp.erfurt.thur.de>
Date:   Mon Nov 22 19:16:26 2010 +0100

    Refresh VCS patch
    
    The former import was incomplete, this one now hopefully has everything
    up to r4089.

diff --git a/debian/patches/0000_sync_upstream_vcs.patch b/debian/patches/0000_sync_upstream_vcs.patch
index 6d813b5..8029f70 100644
--- a/debian/patches/0000_sync_upstream_vcs.patch
+++ b/debian/patches/0000_sync_upstream_vcs.patch
@@ -2,7 +2,17 @@ From: Adrian Knoth <adi at drcomp.erfurt.thur.de>
 Description: Sync with upstream SVN trunk revision 4089
 Last-Update: 2010-11-22
 Forwarded: not-needed
-
+--- a/doxyfile
++++ b/doxyfile
+@@ -23,7 +23,7 @@
+ # This could be handy for archiving the generated documentation or 
+ # if some version control system is used.
+ 
+-PROJECT_NUMBER         = 1.9.6
++PROJECT_NUMBER         = 1.9.7
+ 
+ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+ # base path where the generated documentation will be put. 
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -31,7 +31,38 @@
@@ -45,6 +55,1140 @@ Forwarded: not-needed
  
  2010-08-25 Stephane Letz  <letz at grame.fr>
  
+--- a/common/JackLibClient.cpp
++++ b/common/JackLibClient.cpp
+@@ -67,7 +67,7 @@
+     delete fChannel;
+ }
+ 
+-int JackLibClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
++int JackLibClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
+ {
+     int shared_engine, shared_client, shared_graph, result;
+     jack_log("JackLibClient::Open name = %s", name);
+@@ -76,7 +76,7 @@
+ 
+     // Open server/client channel
+     char name_res[JACK_CLIENT_NAME_SIZE + 1];
+-    if (fChannel->Open(server_name, name, name_res, this, options, status) < 0) {
++    if (fChannel->Open(server_name, name, uuid, name_res, this, options, status) < 0) {
+         jack_error("Cannot connect to the server");
+         goto error;
+     }
+@@ -88,7 +88,7 @@
+     }
+ 
+     // Require new client
+-    fChannel->ClientOpen(name_res, JackTools::GetPID(), &shared_engine, &shared_client, &shared_graph, &result);
++    fChannel->ClientOpen(name_res, JackTools::GetPID(), uuid, &shared_engine, &shared_client, &shared_graph, &result);
+     if (result < 0) {
+         jack_error("Cannot open %s client", name_res);
+         goto error;
+--- a/common/JackInternalClientChannel.h
++++ b/common/JackInternalClientChannel.h
+@@ -50,9 +50,9 @@
+             return 0;
+         }
+ 
+-        void ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
++        void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
+         {
+-            *result = fEngine->ClientCheck(name, name_res, protocol, options, status);
++            *result = fEngine->ClientCheck(name, uuid, name_res, protocol, options, status);
+         }
+         void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
+         {
+@@ -112,6 +112,11 @@
+             *result = fServer->SetFreewheel(onoff);
+         }
+ 
++        void SessionNotify( int refnum, const char *target, jack_session_event_type_t type, const char *path, jack_session_command_t **result )
++        {
++            *result = NULL;
++        }
++
+         void ReleaseTimebase(int refnum, int* result)
+         {
+             *result = fServer->ReleaseTimebase(refnum);
+@@ -132,9 +137,9 @@
+             *result = fEngine->InternalClientHandle(client_name, status, int_ref);
+         }
+ 
+-        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
++        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
+         {
+-            *result = fServer->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, status);	
++            *result = fServer->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, uuid, status);    
+         }
+ 
+         void InternalClientUnload(int refnum, int int_ref, int* status, int* result)
+--- a/common/JackError.cpp
++++ b/common/JackError.cpp
+@@ -33,7 +33,7 @@
+             && jack_tls_set(JackGlobals::fKeyLogFunction, (void*)log_function));
+ }
+ 
+-SERVER_EXPORT int set_threaded_log_function()
++EXPORT int set_threaded_log_function()
+ {
+     return change_thread_log_function(JackMessageBufferAdd);
+ }
+@@ -88,7 +88,7 @@
+     log_function(level, buffer);
+ }
+ 
+-SERVER_EXPORT void jack_error(const char *fmt, ...)
++EXPORT void jack_error(const char *fmt, ...)
+ {
+ 	va_list ap;
+ 	va_start(ap, fmt);
+@@ -96,7 +96,7 @@
+ 	va_end(ap);
+ }
+ 
+-SERVER_EXPORT void jack_info(const char *fmt, ...)
++EXPORT void jack_info(const char *fmt, ...)
+ {
+ 	va_list ap;
+ 	va_start(ap, fmt);
+@@ -104,7 +104,7 @@
+ 	va_end(ap);
+ }
+ 
+-SERVER_EXPORT void jack_log(const char *fmt,...)
++EXPORT void jack_log(const char *fmt,...)
+ {
+ 	if (JackGlobals::fVerbose) {
+ 		va_list ap;
+@@ -114,23 +114,23 @@
+ 	}
+ }
+ 
+-SERVER_EXPORT void default_jack_error_callback(const char *desc)
++EXPORT void default_jack_error_callback(const char *desc)
+ {
+     fprintf(stderr, "%s\n", desc);
+     fflush(stderr);
+ }
+ 
+-SERVER_EXPORT void default_jack_info_callback(const char *desc)
++EXPORT void default_jack_info_callback(const char *desc)
+ {
+     fprintf(stdout, "%s\n", desc);
+     fflush(stdout);
+ }
+ 
+-SERVER_EXPORT void silent_jack_error_callback(const char *desc)
++EXPORT void silent_jack_error_callback(const char *desc)
+ {}
+ 
+-SERVER_EXPORT void silent_jack_info_callback(const char *desc)
++EXPORT void silent_jack_info_callback(const char *desc)
+ {}
+ 
+-SERVER_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
+-SERVER_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
++EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
++EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
+--- a/common/JackDebugClient.h
++++ b/common/JackDebugClient.h
+@@ -53,8 +53,8 @@
+         JackClient* fClient;
+         std::ofstream* fStream;
+         PortFollower fPortList[MAX_PORT_HISTORY]; // Arbitrary value... To be tuned...
+-        int fTotalPortNumber;	// The total number of port opened and maybe closed. Historical view.
+-        int fOpenPortNumber;	// The current number of opened port.
++        int fTotalPortNumber;   // The total number of port opened and maybe closed. Historical view.
++        int fOpenPortNumber;    // The current number of opened port.
+         int fIsActivated;
+         int fIsDeactivated;
+         int fIsClosed;
+@@ -68,7 +68,7 @@
+         JackDebugClient(JackClient* fTheClient);
+         virtual ~JackDebugClient();
+ 
+-        virtual int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
++        virtual int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
+         int Close();
+ 
+         virtual JackGraphManager* GetGraphManager() const;
+--- a/common/JackNotification.h
++++ b/common/JackNotification.h
+@@ -45,6 +45,7 @@
+     kRealTimeCallback = 14,
+     kShutDownCallback = 15,
+     kQUIT = 16,
++    kSessionCallback = 17,
+     kMaxNotification
+ };
+ 
+--- a/common/JackRequest.h
++++ b/common/JackRequest.h
+@@ -26,6 +26,7 @@
+ #include "types.h"
+ #include <string.h>
+ #include <stdio.h>
++#include <list>
+ 
+ namespace Jack
+ {
+@@ -65,7 +66,12 @@
+         kInternalClientLoad = 29,
+         kInternalClientUnload = 30,
+         kPortRename = 31,
+-        kNotification = 32
++        kNotification = 32,
++        kSessionNotify = 33,
++        kSessionReply  = 34,
++        kGetClientByUUID = 35,
++        kReserveClientName = 36,
++        kGetUUIDByClient = 37
+     };
+ 
+     RequestType fType;
+@@ -98,7 +104,7 @@
+ struct JackResult
+ {
+ 
+-    int	fResult;
++    int fResult;
+ 
+     JackResult(): fResult( -1)
+     {}
+@@ -129,31 +135,34 @@
+     char fName[JACK_CLIENT_NAME_SIZE + 1];
+     int fProtocol;
+     int fOptions;
++    int fUUID;
+ 
+     JackClientCheckRequest()
+     {}
+-    JackClientCheckRequest(const char* name, int protocol, int options)
+-        : JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options)
++    JackClientCheckRequest(const char* name, int protocol, int options, int uuid)
++        : JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options), fUUID(uuid)
+     {
+         snprintf(fName, sizeof(fName), "%s", name);
+     }
+ 
+     int Read(JackChannelTransaction* trans)
+     {
+-        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
+         CheckRes(trans->Read(&fProtocol, sizeof(int)));
+-        return trans->Read(&fOptions, sizeof(int));
++        CheckRes(trans->Read(&fOptions, sizeof(int)));
++        return trans->Read(&fUUID, sizeof(int));
+     }
+ 
+     int Write(JackChannelTransaction* trans)
+     {
+         CheckRes(JackRequest::Write(trans));
+-        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fName,  sizeof(fName)));
+         CheckRes(trans->Write(&fProtocol, sizeof(int)));
+-        return trans->Write(&fOptions, sizeof(int));
++        CheckRes(trans->Write(&fOptions, sizeof(int)));
++        return trans->Write(&fUUID, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief CheckClient result.
+@@ -176,7 +185,7 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(JackResult::Read(trans));
+-        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
+         CheckRes(trans->Read(&fStatus, sizeof(int)));
+         return 0;
+     }
+@@ -184,12 +193,12 @@
+     int Write(JackChannelTransaction* trans)
+     {
+         CheckRes(JackResult::Write(trans));
+-        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
+         CheckRes(trans->Write(&fStatus, sizeof(int)));
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief NewClient request.
+@@ -199,30 +208,34 @@
+ {
+ 
+     int fPID;
++    int fUUID;
+     char fName[JACK_CLIENT_NAME_SIZE + 1];
+-
++ 
+     JackClientOpenRequest()
+     {}
+-    JackClientOpenRequest(const char* name, int pid): JackRequest(JackRequest::kClientOpen)
++    JackClientOpenRequest(const char* name, int pid, int uuid): JackRequest(JackRequest::kClientOpen)
+     {
+         snprintf(fName, sizeof(fName), "%s", name);
+         fPID = pid;
++        fUUID = uuid;
+     }
+ 
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fPID, sizeof(int)));
+-        return trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1);
++        CheckRes(trans->Read(&fUUID, sizeof(int)));
++        return trans->Read(&fName,  sizeof(fName));
+     }
+ 
+     int Write(JackChannelTransaction* trans)
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fPID, sizeof(int)));
+-        return trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1);
++        CheckRes(trans->Write(&fUUID, sizeof(int)));
++        return trans->Write(&fName,  sizeof(fName));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief NewClient result.
+@@ -260,7 +273,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief CloseClient request.
+@@ -287,7 +300,7 @@
+         return trans->Write(&fRefNum, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief Activate request.
+@@ -318,7 +331,7 @@
+         return trans->Write(&fIsRealTime, sizeof(int));
+     }
+ 
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief Deactivate request.
+@@ -345,7 +358,7 @@
+         return trans->Write(&fRefNum, sizeof(int));
+     }
+ 
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortRegister request.
+@@ -372,8 +385,8 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Read(&fName, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Read(&fPortType, JACK_PORT_TYPE_SIZE + 1));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
++        CheckRes(trans->Read(&fPortType, sizeof(fPortType)));
+         CheckRes(trans->Read(&fFlags, sizeof(unsigned int)));
+         CheckRes(trans->Read(&fBufferSize, sizeof(unsigned int)));
+         return 0;
+@@ -383,14 +396,14 @@
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Write(&fName, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Write(&fPortType, JACK_PORT_TYPE_SIZE + 1));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
++        CheckRes(trans->Write(&fPortType, sizeof(fPortType)));
+         CheckRes(trans->Write(&fFlags, sizeof(unsigned int)));
+         CheckRes(trans->Write(&fBufferSize, sizeof(unsigned int)));
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortRegister result.
+@@ -416,7 +429,7 @@
+         return trans->Write(&fPortIndex, sizeof(jack_port_id_t));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortUnregister request.
+@@ -449,7 +462,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortConnectName request.
+@@ -474,8 +487,8 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Read(&fSrc, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Read(&fDst, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fSrc, sizeof(fSrc)));
++        CheckRes(trans->Read(&fDst, sizeof(fDst)));
+         return 0;
+ 
+     }
+@@ -484,12 +497,12 @@
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Write(&fSrc, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Write(&fDst, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fSrc, sizeof(fSrc)));
++        CheckRes(trans->Write(&fDst, sizeof(fDst)));
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortDisconnectName request.
+@@ -514,8 +527,8 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Read(&fSrc, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Read(&fDst, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fSrc, sizeof(fSrc)));
++        CheckRes(trans->Read(&fDst, sizeof(fDst)));
+         return 0;
+     }
+ 
+@@ -523,12 +536,12 @@
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Write(&fSrc, JACK_PORT_NAME_SIZE + 1));
+-        CheckRes(trans->Write(&fDst, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fSrc, sizeof(fSrc)));
++        CheckRes(trans->Write(&fDst, sizeof(fDst)));
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortConnect request.
+@@ -564,7 +577,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortDisconnect request.
+@@ -598,10 +611,9 @@
+         CheckRes(trans->Write(&fSrc, sizeof(jack_port_id_t)));
+         CheckRes(trans->Write(&fDst, sizeof(jack_port_id_t)));
+         return 0;
+-
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief PortRename request.
+@@ -626,7 +638,7 @@
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+         CheckRes(trans->Read(&fPort, sizeof(jack_port_id_t)));
+-        CheckRes(trans->Read(&fName, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
+         return 0;
+     }
+ 
+@@ -635,12 +647,12 @@
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+         CheckRes(trans->Write(&fPort, sizeof(jack_port_id_t)));
+-        CheckRes(trans->Write(&fName, JACK_PORT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
+         return 0;
+ 
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief SetBufferSize request.
+@@ -668,7 +680,7 @@
+         return trans->Write(&fBufferSize, sizeof(jack_nframes_t));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief SetFreeWheel request.
+@@ -696,7 +708,7 @@
+         return trans->Write(&fOnOff, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief ReleaseTimebase request.
+@@ -724,7 +736,7 @@
+         return trans->Write(&fRefNum, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief SetTimebaseCallback request.
+@@ -755,7 +767,7 @@
+         return trans->Write(&fConditionnal, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief GetInternalClientName request.
+@@ -786,7 +798,7 @@
+         return trans->Write(&fIntRefNum, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief GetInternalClient result.
+@@ -808,18 +820,18 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(JackResult::Read(trans));
+-        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fName,  sizeof(fName)));
+         return 0;
+     }
+ 
+     int Write(JackChannelTransaction* trans)
+     {
+         CheckRes(JackResult::Write(trans));
+-        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fName,  sizeof(fName)));
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientHandle request.
+@@ -842,17 +854,17 @@
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+-        return trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1);
++        return trans->Read(&fName,  sizeof(fName));
+     }
+ 
+     int Write(JackChannelTransaction* trans)
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+-        return trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1);
++        return trans->Write(&fName,  sizeof(fName));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientHandle result.
+@@ -886,7 +898,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientLoad request.
+@@ -904,23 +916,26 @@
+     char fDllName[MAX_PATH + 1];
+     char fLoadInitName[JACK_LOAD_INIT_LIMIT + 1];
+     int fOptions;
++    int fUUID;
+ 
+     JackInternalClientLoadRequest()
+     {}
+-    JackInternalClientLoadRequest(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options)
+-            : JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options)
++    JackInternalClientLoadRequest(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int uuid )
++            : JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options), fUUID(uuid)
+     {
+         snprintf(fName, sizeof(fName), "%s", client_name);
+         snprintf(fDllName, sizeof(fDllName), "%s", so_name);
+         snprintf(fLoadInitName, sizeof(fLoadInitName), "%s", objet_data);
++        snprintf(fLoadInitName, sizeof(fLoadInitName), "%s", objet_data);
+     }
+ 
+     int Read(JackChannelTransaction* trans)
+     {
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
+-        CheckRes(trans->Read(&fDllName, MAX_PATH + 1));
+-        CheckRes(trans->Read(&fLoadInitName, JACK_LOAD_INIT_LIMIT + 1));
++        CheckRes(trans->Read(&fName,  sizeof(fName)));
++        CheckRes(trans->Read(&fDllName, sizeof(fDllName)));
++        CheckRes(trans->Read(&fLoadInitName, sizeof(fLoadInitName)));
++        CheckRes(trans->Read(&fUUID, sizeof(int)));
+         return trans->Read(&fOptions, sizeof(int));
+     }
+ 
+@@ -928,13 +943,14 @@
+     {
+         CheckRes(JackRequest::Write(trans));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+-        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
+-        CheckRes(trans->Write(&fDllName, MAX_PATH + 1));
+-        CheckRes(trans->Write(&fLoadInitName, JACK_LOAD_INIT_LIMIT + 1));
++        CheckRes(trans->Write(&fName,  sizeof(fName)));
++        CheckRes(trans->Write(&fDllName, sizeof(fDllName)));
++        CheckRes(trans->Write(&fLoadInitName, sizeof(fLoadInitName)));
++        CheckRes(trans->Write(&fUUID, sizeof(int)));
+         return trans->Write(&fOptions, sizeof(int));
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientLoad result.
+@@ -968,7 +984,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientUnload request.
+@@ -998,7 +1014,7 @@
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+         return trans->Write(&fIntRefNum, sizeof(int));
+     }
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief InternalClientLoad result.
+@@ -1029,7 +1045,7 @@
+         return 0;
+     }
+     
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ /*!
+ \brief ClientNotification request.
+@@ -1065,7 +1081,292 @@
+         return 0;
+     }
+ 
+-} POST_PACKED_STRUCTURE;
++};
++
++struct JackSessionCommand
++{
++    char fUUID[JACK_UUID_SIZE];
++    char fClientName[JACK_CLIENT_NAME_SIZE+1];
++    char fCommand[JACK_SESSION_COMMAND_SIZE];
++    jack_session_flags_t fFlags;
++
++    JackSessionCommand()
++    {}
++
++    JackSessionCommand( const char *uuid, const char *clientname, const char *command, jack_session_flags_t flags )
++    {
++        strncpy( fUUID, uuid, sizeof(fUUID));
++        strncpy( fClientName, clientname, sizeof(fClientName));
++        strncpy( fCommand, command, sizeof(fCommand));
++        fFlags = flags;
++    }
++};
++
++struct JackSessionNotifyResult : public JackResult
++{
++
++    std::list<JackSessionCommand> fCommandList;
++
++    JackSessionNotifyResult(): JackResult()
++    {}
++    JackSessionNotifyResult(int32_t result)
++            : JackResult(result)
++    {}
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(JackResult::Read(trans));
++        while(1) {
++            JackSessionCommand buffer;
++
++            CheckRes(trans->Read(buffer.fUUID, sizeof(buffer.fUUID)));
++            if (buffer.fUUID[0] == '\0')
++                break;
++
++            CheckRes(trans->Read(buffer.fClientName, sizeof(buffer.fClientName)));
++            CheckRes(trans->Read(buffer.fCommand, sizeof(buffer.fCommand)));
++            CheckRes(trans->Read(&(buffer.fFlags), sizeof(buffer.fFlags)));
++
++            fCommandList.push_back(buffer);
++        }
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        char terminator[JACK_UUID_SIZE];
++        terminator[0] = '\0';
++
++        CheckRes(JackResult::Write(trans));
++        for (std::list<JackSessionCommand>::iterator i=fCommandList.begin(); i!=fCommandList.end(); i++) {
++            CheckRes(trans->Write(i->fUUID, sizeof(i->fUUID)));
++            CheckRes(trans->Write(i->fClientName, sizeof(i->fClientName)));
++            CheckRes(trans->Write(i->fCommand, sizeof(i->fCommand)));
++            CheckRes(trans->Write(&(i->fFlags), sizeof(i->fFlags)));
++        }
++        CheckRes(trans->Write(terminator, sizeof(terminator)));
++        return 0;
++    }
++    
++};
++
++/*!
++\brief SessionNotify request.
++*/
++
++struct JackSessionNotifyRequest : public JackRequest
++{
++    char fPath[JACK_MESSAGE_SIZE + 1];
++    char fDst[JACK_CLIENT_NAME_SIZE + 1];
++    jack_session_event_type_t  fEventType;
++    int  fRefNum;
++
++    JackSessionNotifyRequest()
++    {}
++    JackSessionNotifyRequest(int refnum, const char *path, jack_session_event_type_t type, const char *dst)
++            : JackRequest(JackRequest::kSessionNotify), fEventType(type), fRefNum(refnum)
++    {
++        snprintf(fPath, sizeof(fPath), "%s", path);
++        if (dst)
++            snprintf(fDst, sizeof(fDst), "%s", dst);
++        else
++            fDst[0] = '\0';
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
++        CheckRes(trans->Read(&fPath, sizeof(fPath)));
++        CheckRes(trans->Read(&fDst, sizeof(fDst)));
++        CheckRes(trans->Read(&fEventType, sizeof(fEventType)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackRequest::Write(trans));
++        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
++        CheckRes(trans->Write(&fPath, sizeof(fPath)));
++        CheckRes(trans->Write(&fDst, sizeof(fDst)));
++        CheckRes(trans->Write(&fEventType, sizeof(fEventType)));
++        return 0;
++    }
++
++};
++
++struct JackSessionReplyRequest : public JackRequest
++{
++    int fRefNum;
++
++    JackSessionReplyRequest()
++    {}
++
++    JackSessionReplyRequest(int refnum)
++            : JackRequest(JackRequest::kSessionReply), fRefNum(refnum)
++    {}
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackRequest::Write(trans));
++        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
++        return 0;
++    }
++
++};
++
++struct JackClientNameResult : public JackResult
++{
++    char fName[JACK_CLIENT_NAME_SIZE + 1];
++
++    JackClientNameResult(): JackResult()
++    {}
++    JackClientNameResult(int32_t result, const char* name)
++            : JackResult(result)
++    {
++        snprintf(fName, sizeof(fName), "%s", name);
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(JackResult::Read(trans));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackResult::Write(trans));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
++        return 0;
++    }
++    
++};
++
++struct JackUUIDResult : public JackResult
++{
++
++    char fUUID[JACK_UUID_SIZE];
++
++    JackUUIDResult(): JackResult()
++    {}
++    JackUUIDResult(int32_t result, const char* uuid)
++            : JackResult(result)
++    {
++        snprintf(fUUID, sizeof(fUUID), "%s", uuid);
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(JackResult::Read(trans));
++        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackResult::Write(trans));
++        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
++        return 0;
++    }
++    
++};
++
++struct JackGetUUIDRequest : public JackRequest
++{
++    char fName[JACK_CLIENT_NAME_SIZE + 1];
++
++    JackGetUUIDRequest()
++    {}
++
++    JackGetUUIDRequest(const char* client_name)
++            : JackRequest(JackRequest::kGetUUIDByClient)
++    {
++        strncpy(fName, client_name, sizeof(fName));
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(trans->Read(&fName, sizeof(fName)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackRequest::Write(trans));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
++        return 0;
++    }
++
++};
++
++struct JackGetClientNameRequest : public JackRequest
++{
++    char fUUID[JACK_UUID_SIZE];
++
++    JackGetClientNameRequest()
++    {}
++
++    JackGetClientNameRequest(const char* uuid)
++            : JackRequest(JackRequest::kGetClientByUUID)
++    {
++        strncpy(fUUID, uuid, sizeof(fUUID));
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackRequest::Write(trans));
++        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
++        return 0;
++    }
++
++};
++
++struct JackReserveNameRequest : public JackRequest
++{
++    int  fRefNum;
++    char fName[JACK_CLIENT_NAME_SIZE + 1];
++    char fUUID[JACK_UUID_SIZE];
++
++    JackReserveNameRequest()
++    {}
++
++    JackReserveNameRequest(int refnum, const char *name, const char* uuid)
++            : JackRequest(JackRequest::kReserveClientName), fRefNum(refnum)
++    {
++        strncpy(fName, name, sizeof(fName));
++        strncpy(fUUID, uuid, sizeof(fUUID));
++    }
++
++    int Read(JackChannelTransaction* trans)
++    {
++        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
++        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
++        return 0;
++    }
++
++    int Write(JackChannelTransaction* trans)
++    {
++        CheckRes(JackRequest::Write(trans));
++        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
++        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
++        return 0;
++    }
++
++};
+ 
+ /*!
+ \brief ClientNotification.
+@@ -1092,29 +1393,29 @@
+ 
+     int Read(JackChannelTransaction* trans)
+     {
+-        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Read(&fName, sizeof(fName)));
+         CheckRes(trans->Read(&fRefNum, sizeof(int)));
+         CheckRes(trans->Read(&fNotify, sizeof(int)));
+         CheckRes(trans->Read(&fValue1, sizeof(int)));
+         CheckRes(trans->Read(&fValue2, sizeof(int)));
+         CheckRes(trans->Read(&fSync, sizeof(int)));
+-        CheckRes(trans->Read(&fMessage, JACK_MESSAGE_SIZE + 1));
++        CheckRes(trans->Read(&fMessage, sizeof(fName)));
+         return 0;
+     }
+ 
+     int Write(JackChannelTransaction* trans)
+     {
+-        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
++        CheckRes(trans->Write(&fName, sizeof(fName)));
+         CheckRes(trans->Write(&fRefNum, sizeof(int)));
+         CheckRes(trans->Write(&fNotify, sizeof(int)));
+         CheckRes(trans->Write(&fValue1, sizeof(int)));
+         CheckRes(trans->Write(&fValue2, sizeof(int)));
+         CheckRes(trans->Write(&fSync, sizeof(int)));
+-        CheckRes(trans->Write(&fMessage, JACK_MESSAGE_SIZE + 1));
++        CheckRes(trans->Write(&fMessage, sizeof(fName)));
+         return 0;
+     }
+ 
+-} POST_PACKED_STRUCTURE;
++};
+ 
+ } // end of namespace
+ 
+--- a/common/JackLibClient.h
++++ b/common/JackLibClient.h
+@@ -37,14 +37,14 @@
+ 
+     private:
+ 
+-        JackShmReadWritePtr1<JackClientControl>	fClientControl;	/*! Shared client control */
++        JackShmReadWritePtr1<JackClientControl> fClientControl; /*! Shared client control */
+ 
+     public:
+ 
+         JackLibClient(JackSynchro* table);
+         virtual ~JackLibClient();
+ 
+-        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
++        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
+ 
+         int ClientNotifyImp(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2);
+ 
+--- a/common/JackThread.h
++++ b/common/JackThread.h
+@@ -106,6 +106,7 @@
+         int DropSelfRealTime();                 // Used when called from thread itself
+ 
+         pthread_t GetThreadID();
++        bool IsThread();
+ 
+         static int AcquireRealTimeImp(pthread_t thread, int priority);
+         static int AcquireRealTimeImp(pthread_t thread, int priority, UInt64 period, UInt64 computation, UInt64 constraint);
+--- a/common/JackClientControl.h
++++ b/common/JackClientControl.h
+@@ -26,6 +26,8 @@
+ #include "JackSynchro.h"
+ #include "JackNotification.h"
+ 
++#include "jack/session.h"
++
+ namespace Jack
+ {
+ 
+@@ -44,22 +46,26 @@
+     int fPID;
+     bool fActive;
+ 
+-    JackClientControl(const char* name, int pid, int refnum)
++    int fSessionID;
++    char fSessionCommand[JACK_SESSION_COMMAND_SIZE];
++    jack_session_flags_t fSessionFlags;
++
++    JackClientControl(const char* name, int pid, int refnum, int uuid)
+     {
+-        Init(name, pid, refnum);
++        Init(name, pid, refnum, uuid);
+     }
+ 
+     JackClientControl(const char* name)
+     {
+-        Init(name, 0, -1);
++        Init(name, 0, -1, -1);
+     }
+ 
+     JackClientControl()
+     {
+-        Init("", 0, -1);
++        Init("", 0, -1, -1);
+     }
+ 
+-    void Init(const char* name, int pid, int refnum)
++    void Init(const char* name, int pid, int refnum, int uuid)
+     {
+         strcpy(fName, name);
+         for (int i = 0; i < kMaxNotification; i++)
+@@ -77,6 +83,8 @@
+         fTransportSync = false;
+         fTransportTimebase = false;
+         fActive = false;
++
++        fSessionID = uuid;
+     }
+ 
+ } POST_PACKED_STRUCTURE;
+--- a/common/JackError.h
++++ b/common/JackError.h
+@@ -35,27 +35,27 @@
+ #define LOG_LEVEL_INFO   1
+ #define LOG_LEVEL_ERROR  2
+ 
+-    SERVER_EXPORT void jack_error(const char *fmt, ...);
++    EXPORT void jack_error(const char *fmt, ...);
+ 
+-    SERVER_EXPORT void jack_info(const char *fmt, ...);
++    EXPORT void jack_info(const char *fmt, ...);
+ 
+     // like jack_info() but only if verbose mode is enabled
+-    SERVER_EXPORT void jack_log(const char *fmt, ...);
++    EXPORT void jack_log(const char *fmt, ...);
+ 
+-    SERVER_EXPORT extern void (*jack_error_callback)(const char *desc);
+-    SERVER_EXPORT extern void (*jack_info_callback)(const char *desc);
++    EXPORT extern void (*jack_error_callback)(const char *desc);
++    EXPORT extern void (*jack_info_callback)(const char *desc);
+     
+-    SERVER_EXPORT extern void default_jack_error_callback(const char *desc);
+-    SERVER_EXPORT extern void default_jack_info_callback(const char *desc);
++    EXPORT extern void default_jack_error_callback(const char *desc);
++    EXPORT extern void default_jack_info_callback(const char *desc);
+     
+-    SERVER_EXPORT extern void silent_jack_error_callback(const char *desc);
+-    SERVER_EXPORT extern void silent_jack_info_callback(const char *desc);
++    EXPORT extern void silent_jack_error_callback(const char *desc);
++    EXPORT extern void silent_jack_info_callback(const char *desc);
+ 
+     typedef void (* jack_log_function_t)(int level, const char *message);
+ 
+     void jack_log_function(int level, const char *message);
+    
+-    SERVER_EXPORT int set_threaded_log_function();
++    EXPORT int set_threaded_log_function();
+ 
+ #ifdef __cplusplus
+ }
+--- a/common/JackTools.h
++++ b/common/JackTools.h
+@@ -22,7 +22,10 @@
+ 
+ #ifdef WIN32
+ #include <windows.h>
++#define DIR_SEPARATOR '\\'
+ #else
++#define DIR_SEPARATOR '/'
++#include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <dirent.h>
+@@ -58,6 +61,7 @@
+ 
+         static void KillServer();
+ 
++        static int MkDir(const char* path);
+         static char* UserDir();
+         static char* ServerDir ( const char* server_name, char* server_dir );
+         static const char* DefaultServerName();
 --- a/common/JackAPI.cpp
 +++ b/common/JackAPI.cpp
 @@ -108,8 +108,8 @@
@@ -228,92 +1372,128 @@ Forwarded: not-needed
 +
 +    free(cmds);
 +}
---- a/common/JackAudioDriver.cpp
-+++ b/common/JackAudioDriver.cpp
-@@ -195,7 +195,7 @@
-         ProcessGraphAsync();
-     }
-             
--     // Keep end cycle time
-+    // Keep end cycle time
-     JackDriver::CycleTakeEndTime();
-     WaitUntilNextCycle();
-     return 0;
-@@ -215,14 +215,14 @@
- {
-     // Read input buffers for the current cycle
-     if (Read() < 0) {   
--        jack_error("JackAudioDriver::ProcessAsync: read error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+        jack_error("JackAudioDriver::ProcessAsync: read error, stopping...");
-+        return -1;   
-     }
- 
-     // Write output buffers from the previous cycle
-     if (Write() < 0) {
--        jack_error("JackAudioDriver::ProcessAsync: write error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+        jack_error("JackAudioDriver::ProcessAsync: write error, stopping...");
-+        return -1;   
-     }
+--- a/common/JackLockedEngine.h
++++ b/common/JackLockedEngine.h
+@@ -96,18 +96,18 @@
+         }
+     
+         // Client management
+-        int ClientCheck(const char* name, char* name_res, int protocol, int options, int* status)
++        int ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status)
+         {
+             TRY_CALL
+             JackLock lock(&fEngine);
+-            return fEngine.ClientCheck(name, name_res, protocol, options, status);
++            return fEngine.ClientCheck(name, uuid, name_res, protocol, options, status);
+             CATCH_EXCEPTION_RETURN
+         }
+-        int ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
++        int ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
+         {
+             TRY_CALL
+             JackLock lock(&fEngine);
+-            return fEngine.ClientExternalOpen(name, pid, ref, shared_engine, shared_client, shared_graph_manager);
++            return fEngine.ClientExternalOpen(name, pid, uuid, ref, shared_engine, shared_client, shared_graph_manager);
+             CATCH_EXCEPTION_RETURN
+         }
+         int ClientInternalOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, bool wait)
+@@ -306,7 +306,44 @@
+             return fEngine.NotifyQuit();
+             CATCH_EXCEPTION
+         }
++
++        void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket)
++        {
++            TRY_CALL
++            JackLock lock(&fEngine);
++            fEngine.SessionNotify(refnum, target, type, path, socket);
++            CATCH_EXCEPTION
++        }
++ 
++        void SessionReply(int refnum)
++        {
++            TRY_CALL
++            JackLock lock(&fEngine);
++            fEngine.SessionReply(refnum);
++            CATCH_EXCEPTION
++        }
+  
++        void GetUUIDForClientName(const char *client_name, char *uuid_res, int *result)
++        {
++            TRY_CALL
++            JackLock lock(&fEngine);
++            fEngine.GetUUIDForClientName(client_name, uuid_res, result);
++            CATCH_EXCEPTION
++        }
++        void GetClientNameForUUID(const char *uuid, char *name_res, int *result)
++        {
++            TRY_CALL
++            JackLock lock(&fEngine);
++            fEngine.GetClientNameForUUID(uuid, name_res, result);
++            CATCH_EXCEPTION
++        }
++        void ReserveClientName(const char *name, const char *uuid, int *result)
++        {
++            TRY_CALL
++            JackLock lock(&fEngine);
++            fEngine.ReserveClientName(name, uuid, result);
++            CATCH_EXCEPTION
++        }
+ };
  
-     if (fIsMaster) {
-@@ -244,9 +244,9 @@
- int JackAudioDriver::ProcessSync()
+ } // end of namespace
+--- a/common/JackDummyDriver.cpp
++++ b/common/JackDummyDriver.cpp
+@@ -56,6 +56,12 @@
+         fEngineControl->fPeriod = 0;
+         fEngineControl->fComputation = 500 * 1000;
+         fEngineControl->fConstraint = 500 * 1000;
++        int buffer_size = (fWaitTime * fEngineControl->fSampleRate) / 1000000.0f;
++        if (buffer_size > BUFFER_SIZE_MAX) {
++            buffer_size = BUFFER_SIZE_MAX;
++            jack_error("Buffer size set to %d ", BUFFER_SIZE_MAX);
++        }
++        SetBufferSize(buffer_size);
+         return 0;
+     } else {
+         return -1;
+--- a/common/JackControlAPI.cpp
++++ b/common/JackControlAPI.cpp
+@@ -450,21 +450,21 @@
+ jackctl_setup_signals(
+     unsigned int flags)
  {
-     // Read input buffers for the current cycle
--    if (Read() < 0) { 
--        jack_error("JackAudioDriver::ProcessSync: read error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+    if (Read() < 0) {   
-+        jack_error("JackAudioDriver::ProcessSync: read error, stopping...");
-+        return -1;   
+-	if ((waitEvent = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL) {
++        if ((waitEvent = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL) {
+         jack_error("CreateEvent fails err = %ld", GetLastError());
+         return 0;
      }
  
-     if (fIsMaster) {
-@@ -255,10 +255,10 @@
-         fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
-     }
-     
--    // Write output buffers for the current cycle
--    if (Write() < 0) { 
--        jack_error("JackAudioDriver::ProcessSync: write error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+    // Write output buffers from the current cycle
-+    if (Write() < 0) {
-+        jack_error("JackAudioDriver::ProcessSync: write error, stopping...");
-+        return -1;   
-     }
-     
-     // Keep end cycle time
-@@ -270,10 +270,10 @@
- {
-     // fBeginDateUst is set in the "low level" layer, fEndDateUst is from previous cycle
-     if (!fEngine->Process(fBeginDateUst, fEndDateUst)) 
--        jack_error("JackAudioDriver::ProcessAsync Process error");
-+        jack_error("JackAudioDriver::ProcessGraphAsync: Process error");
-     fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
-     if (ProcessSlaves() < 0)
--        jack_error("JackAudioDriver::ProcessAsync ProcessSlaves error");
-+        jack_error("JackAudioDriver::ProcessGraphAsync: ProcessSlaves error");
+-	(void) signal(SIGINT, do_nothing_handler);
++        (void) signal(SIGINT, do_nothing_handler);
+     (void) signal(SIGABRT, do_nothing_handler);
+     (void) signal(SIGTERM, do_nothing_handler);
+ 
+-	return (sigset_t)waitEvent;
++        return (sigset_t)waitEvent;
  }
  
- void JackAudioDriver::ProcessGraphSync()
-@@ -282,11 +282,11 @@
-     if (fEngine->Process(fBeginDateUst, fEndDateUst)) { 
-         fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
-         if (ProcessSlaves() < 0)
--            jack_error("JackAudioDriver::ProcessSync ProcessSlaves error, engine may now behave abnormally!!");
-+            jack_error("JackAudioDriver::ProcessGraphSync: ProcessSlaves error, engine may now behave abnormally!!");
-         if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, DRIVER_TIMEOUT_FACTOR * fEngineControl->fTimeOutUsecs) < 0)
--            jack_error("JackAudioDriver::ProcessSync SuspendRefNum error, engine may now behave abnormally!!");
-+            jack_error("JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!");
-     } else { // Graph not finished: do not activate it
--        jack_error("JackAudioDriver::ProcessSync: error");
-+        jack_error("JackAudioDriver::ProcessGraphSync: Process error");
+ void jackctl_wait_signals(sigset_t signals)
+ {
+-	if (WaitForSingleObject(waitEvent, INFINITE) != WAIT_OBJECT_0) {
++        if (WaitForSingleObject(waitEvent, INFINITE) != WAIT_OBJECT_0) {
+         jack_error("WaitForSingleObject fails err = %ld", GetLastError());
      }
  }
- 
+@@ -1179,7 +1179,7 @@
+ {
+     int status;
+     if (server_ptr->engine != NULL) {
+-        server_ptr->engine->InternalClientLoad(internal->desc_ptr->name, internal->desc_ptr->name, internal->set_parameters, JackNullOption, &internal->refnum, &status);
++        server_ptr->engine->InternalClientLoad(internal->desc_ptr->name, internal->desc_ptr->name, internal->set_parameters, JackNullOption, &internal->refnum, -1, &status);
+         return (internal->refnum > 0);
+     } else {
+         return false;
 --- a/common/JackChannel.h
 +++ b/common/JackChannel.h
 @@ -21,6 +21,7 @@
@@ -378,293 +1558,6 @@ Forwarded: not-needed
  };
  
  }
---- a/common/JackClient.cpp
-+++ b/common/JackClient.cpp
-@@ -112,9 +112,9 @@
- }
- 
- /*!
--	In "async" mode, the server does not synchronize itself on the output drivers, thus it would never "consume" the activations.
--	The synchronization primitives for drivers are setup in "flush" mode that to not keep unneeded activations.
--	Drivers synchro are setup in "flush" mode if server is "async" and NOT freewheel.
-+        In "async" mode, the server does not synchronize itself on the output drivers, thus it would never "consume" the activations.
-+        The synchronization primitives for drivers are setup in "flush" mode that to not keep unneeded activations.
-+        Drivers synchro are setup in "flush" mode if server is "async" and NOT freewheel.
- */
- void JackClient::SetupDriverSync(bool freewheel)
- {
-@@ -170,7 +170,7 @@
- 
-             case kAddClient:
-                 jack_log("JackClient::kAddClient fName = %s name = %s", GetClientControl()->fName, name);
--                if (fClientRegistration && strcmp(GetClientControl()->fName, name) != 0) {	// Don't call the callback for the registering client itself
-+                if (fClientRegistration && strcmp(GetClientControl()->fName, name) != 0) {      // Don't call the callback for the registering client itself
-                     fClientRegistration(name, 1, fClientRegistrationArg);
-                 }
-                 break;
-@@ -272,6 +272,23 @@
-                     fInfoShutdown = NULL;
-                 }
-                 break;
-+
-+            case kSessionCallback:
-+                jack_log("JackClient::kSessionCallback");
-+                if (fSession) {
-+                    jack_session_event_t *event = (jack_session_event_t *) malloc( sizeof(jack_session_event_t) );
-+                    char uuid_buf[JACK_UUID_SIZE];
-+                    event->type = (jack_session_event_type_t) value1;
-+                    event->session_dir = strdup( message );
-+                    event->command_line = NULL;
-+                    event->flags = (jack_session_flags_t) 0;
-+                    snprintf( uuid_buf, sizeof(uuid_buf), "%d", GetClientControl()->fSessionID );
-+                    event->client_uuid = strdup( uuid_buf );
-+                    fImmediateSessionReply = false;
-+                    fSession(event, fSessionArg);
-+                    res = (fImmediateSessionReply) ? 1 : 2;
-+                }
-+                break;
-         }
-     }
- 
-@@ -280,7 +297,7 @@
- 
- /*!
- \brief We need to start thread before activating in the server, otherwise the FW driver
--	   connected to the client may not be activated.
-+           connected to the client may not be activated.
- */
- int JackClient::Activate()
- {
-@@ -410,7 +427,7 @@
-     while (true) { 
-         CycleWaitAux();
-         CycleSignalAux(CallProcessCallback());  
--	}
-+        }
- }
- 
- inline jack_nframes_t JackClient::CycleWaitAux()
-@@ -981,6 +998,19 @@
-     }
- }
- 
-+int JackClient::SetSessionCallback(JackSessionCallback callback, void *arg)
-+{
-+    if (IsActive()) {
-+        jack_error("You cannot set callbacks on an active client");
-+        return -1;
-+    } else {
-+        GetClientControl()->fCallback[kSessionCallback] = (callback != NULL);
-+        fSessionArg = arg;
-+        fSession = callback;
-+        return 0;
-+    }
-+}
-+
- //------------------
- // Internal clients
- //------------------
-@@ -1027,9 +1057,8 @@
-         return 0;
-     }
- 
--    int int_ref = 0;
--    int result = -1;
--    fChannel->InternalClientLoad(GetClientControl()->fRefNum, client_name, va->load_name, va->load_init, options, (int*)status, &int_ref, &result);
-+    int int_ref, result = -1;
-+    fChannel->InternalClientLoad(GetClientControl()->fRefNum, client_name, va->load_name, va->load_init, options, (int*)status, &int_ref, -1, &result);
-     return int_ref;
- }
- 
-@@ -1039,6 +1068,71 @@
-     fChannel->InternalClientUnload(GetClientControl()->fRefNum, ref, (int*)status, &result);
- }
- 
-+//------------------
-+// Session API
-+//------------------
-+
-+jack_session_command_t *JackClient::SessionNotify( const char* target, jack_session_event_type_t type, const char* path )
-+{
-+    jack_session_command_t *res;
-+    fChannel->SessionNotify( GetClientControl()->fRefNum, target, type, path, &res );
-+    return res;
-+}
-+
-+int JackClient::SessionReply( jack_session_event_t *ev )
-+{
-+    if (ev->command_line) {
-+        strncpy( GetClientControl()->fSessionCommand, ev->command_line, sizeof(GetClientControl()->fSessionCommand) );
-+    } else {
-+        GetClientControl()->fSessionCommand[0] = '\0';
-+    }
-+
-+    GetClientControl()->fSessionFlags = ev->flags;
-+
-+    jack_log( "JackClient::SessionReply... we are here" );
-+    if (fChannel->IsChannelThread()) {
-+        jack_log( "JackClient::SessionReply... in callback reply" );
-+        fImmediateSessionReply = true;
-+        return 0;
-+    }
-+
-+    jack_log( "JackClient::SessionReply... out of cb" );
-+
-+    int res;
-+    fChannel->SessionReply( GetClientControl()->fRefNum, &res);
-+    return res;
-+}
-+
-+char* JackClient::GetUUIDForClientName(const char* client_name)
-+{
-+    char uuid_res[JACK_UUID_SIZE];
-+    int result = -1;
-+    fChannel->GetUUIDForClientName( GetClientControl()->fRefNum, client_name, uuid_res, &result);
-+
-+    if (result)
-+        return NULL;
-+
-+    return strdup(uuid_res);
-+}
-+
-+char* JackClient::GetClientNameForUUID(const char* uuid)
-+{
-+    char name_res[JACK_CLIENT_NAME_SIZE + 1];
-+    int result = -1;
-+    fChannel->GetClientNameForUUID(GetClientControl()->fRefNum, uuid, name_res, &result);
-+
-+    if (result)
-+        return NULL;
-+
-+    return strdup(name_res);
-+}
-+
-+int JackClient::ReserveClientName(const char *name, const char* uuid)
-+{
-+    int result = -1;
-+    fChannel->ReserveClientName( GetClientControl()->fRefNum, name, uuid, &result);
-+    return result;
-+}
- 
- } // end of namespace
- 
---- a/common/JackClient.h
-+++ b/common/JackClient.h
-@@ -28,6 +28,7 @@
- #include "JackPlatformPlug.h"
- #include "JackChannel.h"
- #include "types.h"
-+#include "session.h"
- #include "varargs.h"
- #include <list>
- 
-@@ -66,6 +67,7 @@
-         JackTimebaseCallback fTimebase;
-         JackSyncCallback fSync;
-         JackThreadCallback fThreadFun;
-+        JackSessionCallback fSession;
- 
-         void* fProcessArg;
-         void* fGraphOrderArg;
-@@ -83,12 +85,15 @@
-         void* fTimebaseArg;
-         void* fSyncArg;
-         void* fThreadFunArg;
-+        void* fSessionArg;
-         char fServerName[64];
- 
-         JackThread fThread;    /*! Thread to execute the Process function */
-         detail::JackClientChannelInterface* fChannel;
-         JackSynchro* fSynchroTable;
-         std::list<jack_port_id_t> fPortList;
-+
-+        bool fImmediateSessionReply;
-   
-         int StartThread();
-         void SetupDriverSync(bool freewheel);
-@@ -118,7 +123,7 @@
-         JackClient(JackSynchro* table);
-         virtual ~JackClient();
- 
--        virtual int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status) = 0;
-+        virtual int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status) = 0;
-         virtual int Close();
- 
-         virtual JackGraphManager* GetGraphManager() const = 0;
-@@ -173,6 +178,7 @@
-         virtual int SetPortRegistrationCallback(JackPortRegistrationCallback callback, void* arg);
-         virtual int SetPortConnectCallback(JackPortConnectCallback callback, void *arg);
-         virtual int SetPortRenameCallback(JackPortRenameCallback callback, void *arg);
-+        virtual int SetSessionCallback(JackSessionCallback callback, void *arg);
- 
-         // Internal clients
-         virtual char* GetInternalClientName(int ref);
-@@ -184,6 +190,13 @@
-         void CycleSignal(int status);
-         int SetProcessThread(JackThreadCallback fun, void *arg);
- 
-+        // Session api
-+        virtual jack_session_command_t *SessionNotify(const char *target, jack_session_event_type_t type, const char *path);
-+        virtual int SessionReply(jack_session_event_t *ev);
-+char* GetUUIDForClientName(const char* client_name);
-+char* GetClientNameForUUID(const char* uuid);
-+int ReserveClientName(const char *name, const char* uuid);
-+
-         // JackRunnableInterface interface
-         bool Init();
-         bool Execute();
---- a/common/JackClientControl.h
-+++ b/common/JackClientControl.h
-@@ -26,6 +26,8 @@
- #include "JackSynchro.h"
- #include "JackNotification.h"
- 
-+#include "jack/session.h"
-+
- namespace Jack
- {
- 
-@@ -44,22 +46,26 @@
-     int fPID;
-     bool fActive;
- 
--    JackClientControl(const char* name, int pid, int refnum)
-+    int fSessionID;
-+    char fSessionCommand[JACK_SESSION_COMMAND_SIZE];
-+    jack_session_flags_t fSessionFlags;
-+
-+    JackClientControl(const char* name, int pid, int refnum, int uuid)
-     {
--        Init(name, pid, refnum);
-+        Init(name, pid, refnum, uuid);
-     }
- 
-     JackClientControl(const char* name)
-     {
--        Init(name, 0, -1);
-+        Init(name, 0, -1, -1);
-     }
- 
-     JackClientControl()
-     {
--        Init("", 0, -1);
-+        Init("", 0, -1, -1);
-     }
- 
--    void Init(const char* name, int pid, int refnum)
-+    void Init(const char* name, int pid, int refnum, int uuid)
-     {
-         strcpy(fName, name);
-         for (int i = 0; i < kMaxNotification; i++)
-@@ -77,6 +83,8 @@
-         fTransportSync = false;
-         fTransportTimebase = false;
-         fActive = false;
-+
-+        fSessionID = uuid;
-     }
- 
- } POST_PACKED_STRUCTURE;
 --- a/common/JackConstants.h
 +++ b/common/JackConstants.h
 @@ -24,7 +24,7 @@
@@ -693,751 +1586,6 @@ Forwarded: not-needed
  #define NO_PORT   0xFFFE
  
  #define EMPTY   0xFFFD
---- a/common/JackControlAPI.cpp
-+++ b/common/JackControlAPI.cpp
-@@ -450,21 +450,21 @@
- jackctl_setup_signals(
-     unsigned int flags)
- {
--	if ((waitEvent = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL) {
-+        if ((waitEvent = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL) {
-         jack_error("CreateEvent fails err = %ld", GetLastError());
-         return 0;
-     }
- 
--	(void) signal(SIGINT, do_nothing_handler);
-+        (void) signal(SIGINT, do_nothing_handler);
-     (void) signal(SIGABRT, do_nothing_handler);
-     (void) signal(SIGTERM, do_nothing_handler);
- 
--	return (sigset_t)waitEvent;
-+        return (sigset_t)waitEvent;
- }
- 
- void jackctl_wait_signals(sigset_t signals)
- {
--	if (WaitForSingleObject(waitEvent, INFINITE) != WAIT_OBJECT_0) {
-+        if (WaitForSingleObject(waitEvent, INFINITE) != WAIT_OBJECT_0) {
-         jack_error("WaitForSingleObject fails err = %ld", GetLastError());
-     }
- }
-@@ -1179,7 +1179,7 @@
- {
-     int status;
-     if (server_ptr->engine != NULL) {
--        server_ptr->engine->InternalClientLoad(internal->desc_ptr->name, internal->desc_ptr->name, internal->set_parameters, JackNullOption, &internal->refnum, &status);
-+        server_ptr->engine->InternalClientLoad(internal->desc_ptr->name, internal->desc_ptr->name, internal->set_parameters, JackNullOption, &internal->refnum, -1, &status);
-         return (internal->refnum > 0);
-     } else {
-         return false;
---- a/common/JackDebugClient.cpp
-+++ b/common/JackDebugClient.cpp
-@@ -36,8 +36,8 @@
- 
- JackDebugClient::JackDebugClient(JackClient * client)
- {
--    fTotalPortNumber = 1;	// The total number of port opened and maybe closed. Historical view.
--    fOpenPortNumber = 0;	// The current number of opened port.
-+    fTotalPortNumber = 1;       // The total number of port opened and maybe closed. Historical view.
-+    fOpenPortNumber = 0;        // The current number of opened port.
-     fIsActivated = 0;
-     fIsDeactivated = 0;
-     fIsClosed = 0;
-@@ -78,9 +78,9 @@
-     delete fClient;
- }
- 
--int JackDebugClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
-+int JackDebugClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
- {
--    int res = fClient->Open(server_name, name, options, status);
-+    int res = fClient->Open(server_name, name, uuid, options, status);
-     char provstr[256];
-     char buffer[256];
-     time_t curtime;
-@@ -210,8 +210,8 @@
-     int res = fClient->PortUnRegister(port_index);
-     fOpenPortNumber--;
-     int i;
--    for (i = (fTotalPortNumber - 1); i >= 0; i--) {	// We search the record into the history
--        if (fPortList[i].idport == port_index) {		// We found the last record
-+    for (i = (fTotalPortNumber - 1); i >= 0; i--) {     // We search the record into the history
-+        if (fPortList[i].idport == port_index) {                // We found the last record
-             if (fPortList[i].IsUnregistered != 0)
-                 *fStream << "!!! ERROR !!! : '" << fClientName << "' id deregistering port '" << fPortList[i].name << "' that have already been unregistered !" << endl;
-             fPortList[i].IsUnregistered++;
-@@ -233,8 +233,8 @@
-         *fStream << "!!! ERROR !!! Trying to connect a port ( " << src << " to " << dst << ") while the client has not been activated !" << endl;
-     int i;
-     int res = fClient->PortConnect( src, dst);
--    for (i = (fTotalPortNumber - 1); i >= 0; i--) {	// We search the record into the history
--        if (strcmp(fPortList[i].name, src) == 0) {	// We found the last record in sources
-+    for (i = (fTotalPortNumber - 1); i >= 0; i--) {     // We search the record into the history
-+        if (strcmp(fPortList[i].name, src) == 0) {      // We found the last record in sources
-             if (fPortList[i].IsUnregistered != 0)
-                 *fStream << "!!! ERROR !!! Connecting port " << src << " previoulsy unregistered !" << endl;
-             fPortList[i].IsConnected++;
-@@ -293,8 +293,8 @@
-         *fStream << "!!! ERROR !!! : Trying to disconnect port  " << src << " while that client has not been activated !" << endl;
-     int res = fClient->PortDisconnect(src);
-     int i;
--    for (i = (fTotalPortNumber - 1); i >= 0; i--) {		// We search the record into the history
--        if (fPortList[i].idport == src) {				// We found the record in sources
-+    for (i = (fTotalPortNumber - 1); i >= 0; i--) {             // We search the record into the history
-+        if (fPortList[i].idport == src) {                               // We found the record in sources
-             if (fPortList[i].IsUnregistered != 0)
-                 *fStream << "!!! ERROR !!! : Disconnecting port  " << src << " previoulsy unregistered !" << endl;
-             fPortList[i].IsConnected--;
---- a/common/JackDebugClient.h
-+++ b/common/JackDebugClient.h
-@@ -53,8 +53,8 @@
-         JackClient* fClient;
-         std::ofstream* fStream;
-         PortFollower fPortList[MAX_PORT_HISTORY]; // Arbitrary value... To be tuned...
--        int fTotalPortNumber;	// The total number of port opened and maybe closed. Historical view.
--        int fOpenPortNumber;	// The current number of opened port.
-+        int fTotalPortNumber;   // The total number of port opened and maybe closed. Historical view.
-+        int fOpenPortNumber;    // The current number of opened port.
-         int fIsActivated;
-         int fIsDeactivated;
-         int fIsClosed;
-@@ -68,7 +68,7 @@
-         JackDebugClient(JackClient* fTheClient);
-         virtual ~JackDebugClient();
- 
--        virtual int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
-+        virtual int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
-         int Close();
- 
-         virtual JackGraphManager* GetGraphManager() const;
---- a/common/JackDriverLoader.cpp
-+++ b/common/JackDriverLoader.cpp
-@@ -32,7 +32,7 @@
- 
- jack_driver_desc_t * jackctl_driver_get_desc(jackctl_driver_t * driver);
- 
--SERVER_EXPORT void jack_print_driver_options (jack_driver_desc_t* desc, FILE* file)
-+EXPORT void jack_print_driver_options (jack_driver_desc_t* desc, FILE* file)
- {
-     unsigned long i;
-     char arg_default[JACK_DRIVER_PARAM_STRING_MAX + 1];
-@@ -75,7 +75,7 @@
-     fprintf (file, "%s\n", desc->params[param].long_desc);
- }
- 
--SERVER_EXPORT void jack_free_driver_params(JSList * driver_params)
-+EXPORT void jack_free_driver_params(JSList * driver_params)
- {
-     JSList *node_ptr = driver_params;
-     JSList *next_node_ptr;
-@@ -228,7 +228,7 @@
-     return 0;
- }
- 
--SERVER_EXPORT int
-+EXPORT int
- jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
- {
-     struct option * long_options;
-@@ -436,17 +436,17 @@
- 
- #ifdef WIN32
-     if ((so_get_descriptor == NULL) && (dlerr = GetLastError()) != 0) {
--        jack_log("jack_get_descriptor : dll is not a driver, err = %ld", dlerr);
-+        jack_error("jack_get_descriptor : dll is not a driver, err = %ld", dlerr);
- #else
-     if ((so_get_descriptor == NULL) && (dlerr = dlerror ()) != NULL) {
--        jack_log("jack_get_descriptor err = %s", dlerr);
-+        jack_error("jack_get_descriptor err = %s", dlerr);
- #endif
- 
-         UnloadDriverModule(dlhandle);
-         free(filename);
-         return NULL;
-     }
--
-+  
-     if ((descriptor = so_get_descriptor ()) == NULL) {
-         jack_error("driver from '%s' returned NULL descriptor", filename);
-         UnloadDriverModule(dlhandle);
-@@ -467,7 +467,7 @@
-     /* check it doesn't exist already */
-     for (node = drivers; node; node = jack_slist_next (node)) {
-         other_descriptor = (jack_driver_desc_t *) node->data;
--
-+    
-         if (strcmp(descriptor->name, other_descriptor->name) == 0) {
-             jack_error("the drivers in '%s' and '%s' both have the name '%s'; using the first",
-                        other_descriptor->file, filename, other_descriptor->name);
-@@ -563,6 +563,8 @@
-         desc = jack_get_descriptor (drivers, filedata.cFileName, "driver_get_descriptor");
-         if (desc) {
-             driver_list = jack_slist_append (driver_list, desc);
-+        } else {
-+            jack_error ("jack_get_descriptor returns null for \'%s\'", filedata.cFileName);
-         }
- 
-     } while (FindNextFile(file, &filedata));
-@@ -601,7 +603,7 @@
-     }
- 
-     while ((dir_entry = readdir(dir_stream))) {
--
-+    
-         /* check the filename is of the right format */
-         if (strncmp ("jack_", dir_entry->d_name, 5) != 0) {
-             continue;
-@@ -617,8 +619,11 @@
-         }
- 
-         desc = jack_get_descriptor (drivers, dir_entry->d_name, "driver_get_descriptor");
-+         
-         if (desc) {
-             driver_list = jack_slist_append (driver_list, desc);
-+        } else {
-+            jack_error ("jack_get_descriptor returns null for \'%s\'", dir_entry->d_name);
-         }
-     }
- 
-@@ -687,6 +692,8 @@
-         desc = jack_get_descriptor (internals, filedata.cFileName, "jack_get_descriptor");
-         if (desc) {
-             driver_list = jack_slist_append (driver_list, desc);
-+        } else {
-+            jack_error ("jack_get_descriptor returns null for \'%s\'", filedata.cFileName);
-         }
- 
-     } while (FindNextFile(file, &filedata));
-@@ -743,6 +750,8 @@
-         desc = jack_get_descriptor (internals, dir_entry->d_name, "jack_get_descriptor");
-         if (desc) {
-             driver_list = jack_slist_append (driver_list, desc);
-+        } else {
-+            jack_error ("jack_get_descriptor returns null for \'%s\'", dir_entry->d_name);
-         }
-     }
- 
---- a/common/JackDriverLoader.h
-+++ b/common/JackDriverLoader.h
-@@ -68,9 +68,9 @@
- JSList * jack_drivers_load (JSList * drivers);
- JSList * jack_internals_load (JSList * internals);
- 
--SERVER_EXPORT int jackctl_parse_driver_params (jackctl_driver * driver_ptr, int argc, char* argv[]);
--SERVER_EXPORT void jack_free_driver_params(JSList * param_ptr);
--SERVER_EXPORT void jack_print_driver_options(jack_driver_desc_t* desc, FILE* file);
-+EXPORT int jackctl_parse_driver_params (jackctl_driver * driver_ptr, int argc, char* argv[]);
-+EXPORT void jack_free_driver_params(JSList * param_ptr);
-+EXPORT void jack_print_driver_options(jack_driver_desc_t* desc, FILE* file);
- 
- #endif
- 
---- a/common/JackDummyDriver.cpp
-+++ b/common/JackDummyDriver.cpp
-@@ -56,6 +56,12 @@
-         fEngineControl->fPeriod = 0;
-         fEngineControl->fComputation = 500 * 1000;
-         fEngineControl->fConstraint = 500 * 1000;
-+        int buffer_size = (fWaitTime * fEngineControl->fSampleRate) / 1000000.0f;
-+        if (buffer_size > BUFFER_SIZE_MAX) {
-+            buffer_size = BUFFER_SIZE_MAX;
-+            jack_error("Buffer size set to %d ", BUFFER_SIZE_MAX);
-+        }
-+        SetBufferSize(buffer_size);
-         return 0;
-     } else {
-         return -1;
---- a/common/JackEngine.cpp
-+++ b/common/JackEngine.cpp
-@@ -44,12 +44,15 @@
-     fEngineControl = control;
-     for (int i = 0; i < CLIENT_NUM; i++)
-         fClientTable[i] = NULL;
-+    fLastSwitchUsecs = 0;
-+    fMaxUUID = 0;
-+    fSessionPendingReplies = 0;
-+    fSessionTransaction = NULL;
-+    fSessionResult = NULL;
- }
- 
- JackEngine::~JackEngine()
--{
--    jack_log("JackEngine::~JackEngine");
--}
-+{}
- 
- int JackEngine::Open()
- {
-@@ -134,7 +137,7 @@
- void JackEngine::ProcessNext(jack_time_t cur_cycle_begin)
- {
-     fLastSwitchUsecs = cur_cycle_begin;
--    if (fGraphManager->RunNextGraph())	// True if the graph actually switched to a new state
-+    if (fGraphManager->RunNextGraph())  // True if the graph actually switched to a new state
-         fChannel.Notify(ALL_CLIENTS, kGraphOrderCallback, 0);
-     fSignal.Signal();                   // Signal for threads waiting for next cycle
- }
-@@ -386,7 +389,7 @@
- // Client management
- //-------------------
- 
--int JackEngine::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status)
-+int JackEngine::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status)
- {
-     // Clear status
-     *status = 0;
-@@ -400,7 +403,11 @@
-         return -1;
-     }
- 
--    if (ClientCheckName(name)) {
-+    std::map<int,std::string>::iterator res = fReservationMap.find(uuid);
-+
-+    if (res != fReservationMap.end()) {
-+        strncpy( name_res, res->second.c_str(), JACK_CLIENT_NAME_SIZE );
-+    } else if (ClientCheckName(name)) {
- 
-         *status |= JackNameNotUnique;
- 
-@@ -426,7 +433,7 @@
- 
-     if (length > JACK_CLIENT_NAME_SIZE - 4) {
-         jack_error("%s exists and is too long to make unique", name);
--        return true;		/* failure */
-+        return true;            /* failure */
-     }
- 
-     /*  generate a unique name by appending "-01".."-99" */
-@@ -460,9 +467,32 @@
-             return true;
-     }
- 
-+    for (std::map<int,std::string>::iterator i=fReservationMap.begin(); i!=fReservationMap.end(); i++) {
-+        if (i->second == name)
-+            return true;
-+    }
-+
-     return false;
- }
- 
-+int JackEngine::GetNewUUID()
-+{
-+    return fMaxUUID++;
-+}
-+
-+void JackEngine::EnsureUUID(int uuid)
-+{
-+    if (uuid > fMaxUUID)
-+        fMaxUUID = uuid+1;
-+
-+    for (int i = 0; i < CLIENT_NUM; i++) {
-+        JackClientInterface* client = fClientTable[i];
-+        if (client && (client->GetClientControl()->fSessionID==uuid)) {
-+            client->GetClientControl()->fSessionID = GetNewUUID();
-+        }
-+    }
-+}
-+
- int JackEngine::GetClientPID(const char* name)
- {
-     for (int i = 0; i < CLIENT_NUM; i++) {
-@@ -486,9 +516,26 @@
- }
- 
- // Used for external clients
--int JackEngine::ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
-+int JackEngine::ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
- {
--    jack_log("JackEngine::ClientExternalOpen: name = %s ", name);
-+    char real_name[JACK_CLIENT_NAME_SIZE+1];
-+
-+    if (uuid < 0) {
-+        uuid = GetNewUUID();
-+        strncpy( real_name, name, JACK_CLIENT_NAME_SIZE );
-+    } else {
-+        std::map<int,std::string>::iterator res = fReservationMap.find(uuid);
-+        if (res != fReservationMap.end()) {
-+            strncpy( real_name, res->second.c_str(), JACK_CLIENT_NAME_SIZE );
-+            fReservationMap.erase(uuid);
-+        } else {
-+            strncpy( real_name, name, JACK_CLIENT_NAME_SIZE );
-+        }
-+
-+        EnsureUUID(uuid);
-+    }
-+
-+    jack_log("JackEngine::ClientExternalOpen: uuid=%d, name = %s ", uuid, real_name);
- 
-     int refnum = AllocateRefnum();
-     if (refnum < 0) {
-@@ -498,12 +545,12 @@
- 
-     JackExternalClient* client = new JackExternalClient();
- 
--    if (!fSynchroTable[refnum].Allocate(name, fEngineControl->fServerName, 0)) {
-+    if (!fSynchroTable[refnum].Allocate(real_name, fEngineControl->fServerName, 0)) {
-         jack_error("Cannot allocate synchro");
-         goto error;
-     }
- 
--    if (client->Open(name, pid, refnum, shared_client) < 0) {
-+    if (client->Open(real_name, pid, refnum, uuid, shared_client) < 0) {
-         jack_error("Cannot open client");
-         goto error;
-     }
-@@ -516,7 +563,7 @@
- 
-     fClientTable[refnum] = client;
- 
--    if (NotifyAddClient(client, name, refnum) < 0) {
-+    if (NotifyAddClient(client, real_name, refnum) < 0) {
-         jack_error("Cannot notify add client");
-         goto error;
-     }
-@@ -863,5 +910,135 @@
-     return 0;
- }
- 
-+void JackEngine::SessionNotify(int refnum, const char *target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket)
-+{
-+    if (fSessionPendingReplies != 0) {
-+        JackSessionNotifyResult res(-1);
-+        res.Write(socket);
-+        jack_log("JackEngine::SessionNotify ... busy");
-+        return;
-+    }
-+
-+    for (int i = 0; i < CLIENT_NUM; i++) {
-+        JackClientInterface* client = fClientTable[i];
-+        if (client && (client->GetClientControl()->fSessionID < 0)) {
-+            client->GetClientControl()->fSessionID = GetNewUUID();
-+        }
-+    }
-+    fSessionResult = new JackSessionNotifyResult();
-+
-+    for (int i = 0; i < CLIENT_NUM; i++) {
-+        JackClientInterface* client = fClientTable[i];
-+        if (client && client->GetClientControl()->fCallback[kSessionCallback]) {
-+
-+            // check if this is a notification to a specific client.
-+            if (target!=NULL && strlen(target)!=0) {
-+                if (strcmp(target, client->GetClientControl()->fName)) {
-+                    continue;
-+                }
-+            }
-+
-+            char path_buf[JACK_PORT_NAME_SIZE];
-+            snprintf( path_buf, sizeof(path_buf), "%s%s%c", path, client->GetClientControl()->fName, DIR_SEPARATOR );
-+            
-+            int res = JackTools::MkDir(path_buf);
-+            if (res) 
-+                jack_error( "JackEngine::SessionNotify: can not create session directory '%s'", path_buf );
-+        
-+            int result = client->ClientNotify(i, client->GetClientControl()->fName, kSessionCallback, true, path_buf, (int) type, 0);
-+
-+            if (result == 2) {
-+                fSessionPendingReplies += 1;
-+            } else if (result == 1) {
-+                char uuid_buf[JACK_UUID_SIZE];
-+                snprintf( uuid_buf, sizeof(uuid_buf), "%d", client->GetClientControl()->fSessionID );
-+                fSessionResult->fCommandList.push_back( JackSessionCommand( uuid_buf, 
-+                                                                            client->GetClientControl()->fName,
-+                                                                            client->GetClientControl()->fSessionCommand, 
-+                                                                            client->GetClientControl()->fSessionFlags ));
-+            }
-+        }
-+    }
-+
-+    if (fSessionPendingReplies == 0) {
-+        fSessionResult->Write(socket);
-+        delete fSessionResult;
-+        fSessionResult = NULL;
-+    } else {
-+        fSessionTransaction = socket;
-+    }
-+}
-+
-+void JackEngine::SessionReply(int refnum)
-+{
-+    JackClientInterface* client = fClientTable[refnum];
-+    char uuid_buf[JACK_UUID_SIZE];
-+    snprintf( uuid_buf, sizeof(uuid_buf), "%d", client->GetClientControl()->fSessionID );
-+    fSessionResult->fCommandList.push_back( JackSessionCommand( uuid_buf, 
-+                                                                client->GetClientControl()->fName,
-+                                                                client->GetClientControl()->fSessionCommand, 
-+                                                                client->GetClientControl()->fSessionFlags ));
-+    fSessionPendingReplies -= 1;
-+
-+    if (fSessionPendingReplies == 0) {
-+        fSessionResult->Write(fSessionTransaction);
-+        delete fSessionResult;
-+        fSessionResult = NULL;
-+    }
-+}
-+
-+void JackEngine::GetUUIDForClientName(const char *client_name, char *uuid_res, int *result)
-+{
-+    for (int i = 0; i < CLIENT_NUM; i++) {
-+        JackClientInterface* client = fClientTable[i];
-+
-+        if (client && (strcmp(client_name, client->GetClientControl()->fName)==0)) {
-+            snprintf(uuid_res, JACK_UUID_SIZE, "%d", client->GetClientControl()->fSessionID);
-+            *result = 0;
-+            return;
-+        }
-+    }
-+    // did not find name.
-+    *result = -1;
-+    return;
-+}
-+
-+void JackEngine::GetClientNameForUUID(const char *uuid, char *name_res, int *result)
-+{
-+    for (int i = 0; i < CLIENT_NUM; i++) {
-+        JackClientInterface* client = fClientTable[i];
-+
-+        if (!client)
-+            continue;
-+
-+        char uuid_buf[JACK_UUID_SIZE];
-+        snprintf(uuid_buf, JACK_UUID_SIZE, "%d", client->GetClientControl()->fSessionID);
-+
-+        if (strcmp(uuid,uuid_buf) == 0) {
-+            strncpy(name_res, client->GetClientControl()->fName, JACK_CLIENT_NAME_SIZE);
-+            *result = 0;
-+            return;
-+        }
-+    }
-+    // did not find uuid.
-+    *result = -1;
-+    return;
-+}
-+
-+void JackEngine::ReserveClientName(const char *name, const char *uuid, int *result)
-+{
-+    jack_log( "JackEngine::ReserveClientName ( name = %s, uuid = %s )", name, uuid );
-+
-+    if (ClientCheckName(name)) {
-+        *result = -1;
-+        jack_log( "name already taken" );
-+        return;
-+    }
-+
-+    EnsureUUID(atoi(uuid));
-+    fReservationMap[atoi(uuid)] = name;
-+    *result = 0;
-+}
-+
- } // end of namespace
- 
---- a/common/JackEngine.h
-+++ b/common/JackEngine.h
-@@ -26,6 +26,7 @@
- #include "JackMutex.h"
- #include "JackTransportEngine.h"
- #include "JackPlatformPlug.h"
-+#include <map>
- 
- namespace Jack
- {
-@@ -41,7 +42,7 @@
- class SERVER_EXPORT JackEngine : public JackLockAble
- {
-     friend class JackLockedEngine;
--    
-+
-     private:
- 
-         JackGraphManager* fGraphManager;
-@@ -52,6 +53,12 @@
-         JackProcessSync fSignal;
-         jack_time_t fLastSwitchUsecs;
- 
-+        int fSessionPendingReplies;
-+        JackChannelTransaction *fSessionTransaction;
-+        JackSessionNotifyResult *fSessionResult;
-+        std::map<int,std::string> fReservationMap;
-+        int fMaxUUID;
-+
-         int ClientCloseAux(int refnum, JackClientInterface* client, bool wait);
-         void CheckXRun(jack_time_t callback_usecs);
- 
-@@ -69,12 +76,15 @@
- 
-         void NotifyClient(int refnum, int event, int sync, const char*  message, int value1, int value2);
-         void NotifyClients(int event, int sync, const char*  message,  int value1, int value2);
--    
-+
-         void NotifyPortRegistation(jack_port_id_t port_index, bool onoff);
-         void NotifyPortConnect(jack_port_id_t src, jack_port_id_t dst, bool onoff);
-         void NotifyPortRename(jack_port_id_t src, const char* old_name);
-         void NotifyActivate(int refnum);
--        
-+
-+        int GetNewUUID();
-+        void EnsureUUID(int uuid);
-+
-         bool CheckClient(int refnum)
-         {
-             return (refnum >= 0 && refnum < CLIENT_NUM && fClientTable[refnum] != NULL);
-@@ -87,10 +97,10 @@
- 
-         int Open();
-         int Close();
--  
-+
-         // Client management
--        int ClientCheck(const char* name, char* name_res, int protocol, int options, int* status);
--        int ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager);
-+        int ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status);
-+        int ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager);
-         int ClientInternalOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, bool wait);
- 
-         int ClientExternalClose(int refnum);
-@@ -98,10 +108,10 @@
- 
-         int ClientActivate(int refnum, bool is_real_time);
-         int ClientDeactivate(int refnum);
--    
-+
-         int GetClientPID(const char* name);
-         int GetClientRefNum(const char* name);
--    
-+
-         // Internal client management
-         int GetInternalClientName(int int_ref, char* name_res);
-         int InternalClientHandle(const char* client_name, int* status, int* int_ref);
-@@ -116,7 +126,7 @@
- 
-         int PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst);
-         int PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst);
--        
-+
-         int PortRename(int refnum, jack_port_id_t port, const char* name);
- 
-         // Graph
-@@ -131,6 +141,13 @@
-         void NotifySampleRate(jack_nframes_t sample_rate);
-         void NotifyFreewheel(bool onoff);
-         void NotifyQuit();
-+
-+        void SessionNotify( int refnum, const char *target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket );
-+        void SessionReply( int refnum );
-+
-+        void GetUUIDForClientName(const char *client_name, char *uuid_res, int *result);
-+        void GetClientNameForUUID(const char *uuid, char *name_res, int *result);
-+        void ReserveClientName(const char *name, const char *uuid, int *result);
- };
- 
- 
---- a/common/JackError.cpp
-+++ b/common/JackError.cpp
-@@ -33,7 +33,7 @@
-             && jack_tls_set(JackGlobals::fKeyLogFunction, (void*)log_function));
- }
- 
--SERVER_EXPORT int set_threaded_log_function()
-+EXPORT int set_threaded_log_function()
- {
-     return change_thread_log_function(JackMessageBufferAdd);
- }
-@@ -88,7 +88,7 @@
-     log_function(level, buffer);
- }
- 
--SERVER_EXPORT void jack_error(const char *fmt, ...)
-+EXPORT void jack_error(const char *fmt, ...)
- {
- 	va_list ap;
- 	va_start(ap, fmt);
-@@ -96,7 +96,7 @@
- 	va_end(ap);
- }
- 
--SERVER_EXPORT void jack_info(const char *fmt, ...)
-+EXPORT void jack_info(const char *fmt, ...)
- {
- 	va_list ap;
- 	va_start(ap, fmt);
-@@ -104,7 +104,7 @@
- 	va_end(ap);
- }
- 
--SERVER_EXPORT void jack_log(const char *fmt,...)
-+EXPORT void jack_log(const char *fmt,...)
- {
- 	if (JackGlobals::fVerbose) {
- 		va_list ap;
-@@ -114,23 +114,23 @@
- 	}
- }
- 
--SERVER_EXPORT void default_jack_error_callback(const char *desc)
-+EXPORT void default_jack_error_callback(const char *desc)
- {
-     fprintf(stderr, "%s\n", desc);
-     fflush(stderr);
- }
- 
--SERVER_EXPORT void default_jack_info_callback(const char *desc)
-+EXPORT void default_jack_info_callback(const char *desc)
- {
-     fprintf(stdout, "%s\n", desc);
-     fflush(stdout);
- }
- 
--SERVER_EXPORT void silent_jack_error_callback(const char *desc)
-+EXPORT void silent_jack_error_callback(const char *desc)
- {}
- 
--SERVER_EXPORT void silent_jack_info_callback(const char *desc)
-+EXPORT void silent_jack_info_callback(const char *desc)
- {}
- 
--SERVER_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
--SERVER_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
-+EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
-+EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
---- a/common/JackError.h
-+++ b/common/JackError.h
-@@ -35,27 +35,27 @@
- #define LOG_LEVEL_INFO   1
- #define LOG_LEVEL_ERROR  2
- 
--    SERVER_EXPORT void jack_error(const char *fmt, ...);
-+    EXPORT void jack_error(const char *fmt, ...);
- 
--    SERVER_EXPORT void jack_info(const char *fmt, ...);
-+    EXPORT void jack_info(const char *fmt, ...);
- 
-     // like jack_info() but only if verbose mode is enabled
--    SERVER_EXPORT void jack_log(const char *fmt, ...);
-+    EXPORT void jack_log(const char *fmt, ...);
- 
--    SERVER_EXPORT extern void (*jack_error_callback)(const char *desc);
--    SERVER_EXPORT extern void (*jack_info_callback)(const char *desc);
-+    EXPORT extern void (*jack_error_callback)(const char *desc);
-+    EXPORT extern void (*jack_info_callback)(const char *desc);
-     
--    SERVER_EXPORT extern void default_jack_error_callback(const char *desc);
--    SERVER_EXPORT extern void default_jack_info_callback(const char *desc);
-+    EXPORT extern void default_jack_error_callback(const char *desc);
-+    EXPORT extern void default_jack_info_callback(const char *desc);
-     
--    SERVER_EXPORT extern void silent_jack_error_callback(const char *desc);
--    SERVER_EXPORT extern void silent_jack_info_callback(const char *desc);
-+    EXPORT extern void silent_jack_error_callback(const char *desc);
-+    EXPORT extern void silent_jack_info_callback(const char *desc);
- 
-     typedef void (* jack_log_function_t)(int level, const char *message);
- 
-     void jack_log_function(int level, const char *message);
-    
--    SERVER_EXPORT int set_threaded_log_function();
-+    EXPORT int set_threaded_log_function();
- 
- #ifdef __cplusplus
- }
 --- a/common/JackExternalClient.cpp
 +++ b/common/JackExternalClient.cpp
 @@ -41,7 +41,7 @@
@@ -1458,307 +1606,21 @@ Forwarded: not-needed
        
          if (!fClientControl) {
              jack_error("Cannot allocate client shared memory segment");
---- a/common/JackExternalClient.h
-+++ b/common/JackExternalClient.h
-@@ -39,14 +39,14 @@
-     private:
- 
-         JackNotifyChannel fChannel;   /*! Server/client communication channel */
--        JackClientControl*	fClientControl;     /*! Client control in shared memory     */
-+        JackClientControl*      fClientControl;     /*! Client control in shared memory     */
- 
-     public:
- 
-         JackExternalClient();
-         virtual ~JackExternalClient();
- 
--        int Open(const char* name, int pid, int refnum, int* shared_client);
-+        int Open(const char* name, int pid, int refnum, int uuid, int* shared_client);
-         int Close();
- 
-         int ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2);
---- a/common/JackInternalClient.cpp
-+++ b/common/JackInternalClient.cpp
-@@ -63,7 +63,7 @@
-     delete fChannel;
- }
- 
--int JackInternalClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
-+int JackInternalClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
- {
-     int result;
-     char name_res[JACK_CLIENT_NAME_SIZE + 1];
-@@ -71,7 +71,7 @@
- 
-     strncpy(fServerName, server_name, sizeof(fServerName));
- 
--    fChannel->ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
-+    fChannel->ClientCheck(name, uuid, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
-     if (result < 0) {
-         int status1 = *status;
-         if (status1 & JackVersionError)
-@@ -198,11 +198,11 @@
-         UnloadJackModule(fHandle);
- }
- 
--int JackLoadableInternalClient1::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
-+int JackLoadableInternalClient1::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
- {
-     int res = -1;
-     
--    if (JackInternalClient::Open(server_name, name, options, status) == 0) {
-+    if (JackInternalClient::Open(server_name, name, uuid, options, status) == 0) {
-         if (fInitialize((jack_client_t*)this, fObjectData) == 0) {
-             res = 0;
-         } else {
-@@ -214,11 +214,11 @@
-     return res;
- }
- 
--int JackLoadableInternalClient2::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
-+int JackLoadableInternalClient2::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
- {
-     int res = -1;
-     
--    if (JackInternalClient::Open(server_name, name, options, status) == 0) {
-+    if (JackInternalClient::Open(server_name, name, uuid, options, status) == 0) {
-         if (fInitialize((jack_client_t*)this, fParameters) == 0) {
-             res = 0;
-         } else {
---- a/common/JackInternalClient.h
-+++ b/common/JackInternalClient.h
-@@ -46,14 +46,14 @@
-         JackInternalClient(JackServer* server, JackSynchro* table);
-         virtual ~JackInternalClient();
- 
--        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
-+        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
- 
-         JackGraphManager* GetGraphManager() const;
-         JackEngineControl* GetEngineControl() const;
-         JackClientControl* GetClientControl() const;
- 
--        static JackGraphManager* fGraphManager;		/*! Shared memory Port manager */
--        static JackEngineControl* fEngineControl;	/*! Shared engine cotrol */
-+        static JackGraphManager* fGraphManager;         /*! Shared memory Port manager */
-+        static JackEngineControl* fEngineControl;       /*! Shared engine cotrol */
- };
- 
- /*!
-@@ -100,7 +100,7 @@
-         {}
- 
-         int Init(const char* so_name);
--        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
-+        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
- 
- };
- 
-@@ -119,7 +119,7 @@
-         {}
- 
-         int Init(const char* so_name);
--        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
-+        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
- 
- };
- 
---- a/common/JackInternalClientChannel.h
-+++ b/common/JackInternalClientChannel.h
-@@ -50,9 +50,9 @@
-             return 0;
-         }
- 
--        void ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
-+        void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
-         {
--            *result = fEngine->ClientCheck(name, name_res, protocol, options, status);
-+            *result = fEngine->ClientCheck(name, uuid, name_res, protocol, options, status);
-         }
-         void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
-         {
-@@ -112,6 +112,11 @@
-             *result = fServer->SetFreewheel(onoff);
-         }
- 
-+        void SessionNotify( int refnum, const char *target, jack_session_event_type_t type, const char *path, jack_session_command_t **result )
-+        {
-+            *result = NULL;
-+        }
-+
-         void ReleaseTimebase(int refnum, int* result)
-         {
-             *result = fServer->ReleaseTimebase(refnum);
-@@ -132,9 +137,9 @@
-             *result = fEngine->InternalClientHandle(client_name, status, int_ref);
-         }
- 
--        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
-+        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
-         {
--            *result = fServer->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, status);	
-+            *result = fServer->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, uuid, status);    
-         }
- 
-         void InternalClientUnload(int refnum, int int_ref, int* status, int* result)
---- a/common/JackLibAPI.cpp
-+++ b/common/JackLibAPI.cpp
-@@ -57,7 +57,7 @@
- 
- jack_client_t* jack_client_new_aux(const char* client_name, jack_options_t options, jack_status_t* status)
- {
--    jack_varargs_t va;		/* variable arguments */
-+    jack_varargs_t va;          /* variable arguments */
-     jack_status_t my_status;
-     JackClient* client;
-  
-@@ -68,8 +68,8 @@
- 
-     jack_log("jack_client_new %s", client_name);
-    
--    if (status == NULL)			/* no status from caller? */
--        status = &my_status;	/* use local status word */
-+    if (status == NULL)         /* no status from caller? */
-+        status = &my_status;    /* use local status word */
-     *status = (jack_status_t)0;
- 
-     /* validate parameters */
-@@ -96,7 +96,7 @@
-         client = new JackLibClient(GetSynchroTable());
-     }
- 
--    int res = client->Open(va.server_name, client_name, options, status);
-+    int res = client->Open(va.server_name, client_name, va.session_id, options, status);
-     if (res < 0) {
-         delete client;
-         JackLibGlobals::Destroy(); // jack library destruction
-@@ -149,7 +149,7 @@
-         client = new JackLibClient(GetSynchroTable());
-     }
- 
--    int res = client->Open(va.server_name, client_name, options, status);
-+    int res = client->Open(va.server_name, client_name, va.session_id, options, status);
-     if (res < 0) {
-         delete client;
-         JackLibGlobals::Destroy(); // jack library destruction
---- a/common/JackLibClient.cpp
-+++ b/common/JackLibClient.cpp
-@@ -67,7 +67,7 @@
-     delete fChannel;
- }
- 
--int JackLibClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
-+int JackLibClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
- {
-     int shared_engine, shared_client, shared_graph, result;
-     jack_log("JackLibClient::Open name = %s", name);
-@@ -76,7 +76,7 @@
- 
-     // Open server/client channel
-     char name_res[JACK_CLIENT_NAME_SIZE + 1];
--    if (fChannel->Open(server_name, name, name_res, this, options, status) < 0) {
-+    if (fChannel->Open(server_name, name, uuid, name_res, this, options, status) < 0) {
-         jack_error("Cannot connect to the server");
-         goto error;
-     }
-@@ -88,7 +88,7 @@
-     }
- 
-     // Require new client
--    fChannel->ClientOpen(name_res, JackTools::GetPID(), &shared_engine, &shared_client, &shared_graph, &result);
-+    fChannel->ClientOpen(name_res, JackTools::GetPID(), uuid, &shared_engine, &shared_client, &shared_graph, &result);
-     if (result < 0) {
-         jack_error("Cannot open %s client", name_res);
-         goto error;
---- a/common/JackLibClient.h
-+++ b/common/JackLibClient.h
-@@ -37,14 +37,14 @@
- 
-     private:
- 
--        JackShmReadWritePtr1<JackClientControl>	fClientControl;	/*! Shared client control */
-+        JackShmReadWritePtr1<JackClientControl> fClientControl; /*! Shared client control */
- 
-     public:
- 
-         JackLibClient(JackSynchro* table);
-         virtual ~JackLibClient();
- 
--        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
-+        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
+--- a/common/JackDriverLoader.h
++++ b/common/JackDriverLoader.h
+@@ -68,9 +68,9 @@
+ JSList * jack_drivers_load (JSList * drivers);
+ JSList * jack_internals_load (JSList * internals);
  
-         int ClientNotifyImp(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2);
+-SERVER_EXPORT int jackctl_parse_driver_params (jackctl_driver * driver_ptr, int argc, char* argv[]);
+-SERVER_EXPORT void jack_free_driver_params(JSList * param_ptr);
+-SERVER_EXPORT void jack_print_driver_options(jack_driver_desc_t* desc, FILE* file);
++EXPORT int jackctl_parse_driver_params (jackctl_driver * driver_ptr, int argc, char* argv[]);
++EXPORT void jack_free_driver_params(JSList * param_ptr);
++EXPORT void jack_print_driver_options(jack_driver_desc_t* desc, FILE* file);
  
---- a/common/JackLockedEngine.h
-+++ b/common/JackLockedEngine.h
-@@ -96,18 +96,18 @@
-         }
-     
-         // Client management
--        int ClientCheck(const char* name, char* name_res, int protocol, int options, int* status)
-+        int ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status)
-         {
-             TRY_CALL
-             JackLock lock(&fEngine);
--            return fEngine.ClientCheck(name, name_res, protocol, options, status);
-+            return fEngine.ClientCheck(name, uuid, name_res, protocol, options, status);
-             CATCH_EXCEPTION_RETURN
-         }
--        int ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
-+        int ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
-         {
-             TRY_CALL
-             JackLock lock(&fEngine);
--            return fEngine.ClientExternalOpen(name, pid, ref, shared_engine, shared_client, shared_graph_manager);
-+            return fEngine.ClientExternalOpen(name, pid, uuid, ref, shared_engine, shared_client, shared_graph_manager);
-             CATCH_EXCEPTION_RETURN
-         }
-         int ClientInternalOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, bool wait)
-@@ -306,7 +306,44 @@
-             return fEngine.NotifyQuit();
-             CATCH_EXCEPTION
-         }
-+
-+        void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket)
-+        {
-+            TRY_CALL
-+            JackLock lock(&fEngine);
-+            fEngine.SessionNotify(refnum, target, type, path, socket);
-+            CATCH_EXCEPTION
-+        }
-+ 
-+        void SessionReply(int refnum)
-+        {
-+            TRY_CALL
-+            JackLock lock(&fEngine);
-+            fEngine.SessionReply(refnum);
-+            CATCH_EXCEPTION
-+        }
-  
-+        void GetUUIDForClientName(const char *client_name, char *uuid_res, int *result)
-+        {
-+            TRY_CALL
-+            JackLock lock(&fEngine);
-+            fEngine.GetUUIDForClientName(client_name, uuid_res, result);
-+            CATCH_EXCEPTION
-+        }
-+        void GetClientNameForUUID(const char *uuid, char *name_res, int *result)
-+        {
-+            TRY_CALL
-+            JackLock lock(&fEngine);
-+            fEngine.GetClientNameForUUID(uuid, name_res, result);
-+            CATCH_EXCEPTION
-+        }
-+        void ReserveClientName(const char *name, const char *uuid, int *result)
-+        {
-+            TRY_CALL
-+            JackLock lock(&fEngine);
-+            fEngine.ReserveClientName(name, uuid, result);
-+            CATCH_EXCEPTION
-+        }
- };
+ #endif
  
- } // end of namespace
 --- a/common/JackNetOneDriver.cpp
 +++ b/common/JackNetOneDriver.cpp
 @@ -54,36 +54,36 @@
@@ -2562,841 +2424,914 @@ Forwarded: not-needed
                  Jack::JackDriverClientInterface* driver =
                      new Jack::JackWaitThreadedDriver (
                      new Jack::JackNetOneDriver ( "system", "net_pcm", engine, table, listen_port, mtu,
---- a/common/JackNotification.h
-+++ b/common/JackNotification.h
-@@ -45,6 +45,7 @@
-     kRealTimeCallback = 14,
-     kShutDownCallback = 15,
-     kQUIT = 16,
-+    kSessionCallback = 17,
-     kMaxNotification
- };
- 
---- a/common/JackRequest.h
-+++ b/common/JackRequest.h
-@@ -26,6 +26,7 @@
- #include "types.h"
- #include <string.h>
- #include <stdio.h>
-+#include <list>
- 
- namespace Jack
- {
-@@ -65,7 +66,12 @@
-         kInternalClientLoad = 29,
-         kInternalClientUnload = 30,
-         kPortRename = 31,
--        kNotification = 32
-+        kNotification = 32,
-+        kSessionNotify = 33,
-+        kSessionReply  = 34,
-+        kGetClientByUUID = 35,
-+        kReserveClientName = 36,
-+        kGetUUIDByClient = 37
-     };
- 
-     RequestType fType;
-@@ -98,7 +104,7 @@
- struct JackResult
+--- a/common/JackAudioDriver.cpp
++++ b/common/JackAudioDriver.cpp
+@@ -195,7 +195,7 @@
+         ProcessGraphAsync();
+     }
+             
+-     // Keep end cycle time
++    // Keep end cycle time
+     JackDriver::CycleTakeEndTime();
+     WaitUntilNextCycle();
+     return 0;
+@@ -215,14 +215,14 @@
  {
- 
--    int	fResult;
-+    int fResult;
- 
-     JackResult(): fResult( -1)
-     {}
-@@ -129,31 +135,34 @@
-     char fName[JACK_CLIENT_NAME_SIZE + 1];
-     int fProtocol;
-     int fOptions;
-+    int fUUID;
- 
-     JackClientCheckRequest()
-     {}
--    JackClientCheckRequest(const char* name, int protocol, int options)
--        : JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options)
-+    JackClientCheckRequest(const char* name, int protocol, int options, int uuid)
-+        : JackRequest(JackRequest::kClientCheck), fProtocol(protocol), fOptions(options), fUUID(uuid)
-     {
-         snprintf(fName, sizeof(fName), "%s", name);
+     // Read input buffers for the current cycle
+     if (Read() < 0) {   
+-        jack_error("JackAudioDriver::ProcessAsync: read error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++        jack_error("JackAudioDriver::ProcessAsync: read error, stopping...");
++        return -1;   
      }
  
-     int Read(JackChannelTransaction* trans)
-     {
--        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-         CheckRes(trans->Read(&fProtocol, sizeof(int)));
--        return trans->Read(&fOptions, sizeof(int));
-+        CheckRes(trans->Read(&fOptions, sizeof(int)));
-+        return trans->Read(&fUUID, sizeof(int));
+     // Write output buffers from the previous cycle
+     if (Write() < 0) {
+-        jack_error("JackAudioDriver::ProcessAsync: write error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++        jack_error("JackAudioDriver::ProcessAsync: write error, stopping...");
++        return -1;   
      }
  
-     int Write(JackChannelTransaction* trans)
-     {
-         CheckRes(JackRequest::Write(trans));
--        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fName,  sizeof(fName)));
-         CheckRes(trans->Write(&fProtocol, sizeof(int)));
--        return trans->Write(&fOptions, sizeof(int));
-+        CheckRes(trans->Write(&fOptions, sizeof(int)));
-+        return trans->Write(&fUUID, sizeof(int));
+     if (fIsMaster) {
+@@ -244,9 +244,9 @@
+ int JackAudioDriver::ProcessSync()
+ {
+     // Read input buffers for the current cycle
+-    if (Read() < 0) { 
+-        jack_error("JackAudioDriver::ProcessSync: read error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++    if (Read() < 0) {   
++        jack_error("JackAudioDriver::ProcessSync: read error, stopping...");
++        return -1;   
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief CheckClient result.
-@@ -176,7 +185,7 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(JackResult::Read(trans));
--        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-         CheckRes(trans->Read(&fStatus, sizeof(int)));
-         return 0;
+     if (fIsMaster) {
+@@ -255,10 +255,10 @@
+         fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
      }
-@@ -184,12 +193,12 @@
-     int Write(JackChannelTransaction* trans)
-     {
-         CheckRes(JackResult::Write(trans));
--        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-         CheckRes(trans->Write(&fStatus, sizeof(int)));
-         return 0;
+     
+-    // Write output buffers for the current cycle
+-    if (Write() < 0) { 
+-        jack_error("JackAudioDriver::ProcessSync: write error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++    // Write output buffers from the current cycle
++    if (Write() < 0) {
++        jack_error("JackAudioDriver::ProcessSync: write error, stopping...");
++        return -1;   
      }
      
--} POST_PACKED_STRUCTURE;
-+};
- 
- /*!
- \brief NewClient request.
-@@ -199,30 +208,34 @@
+     // Keep end cycle time
+@@ -270,10 +270,10 @@
  {
+     // fBeginDateUst is set in the "low level" layer, fEndDateUst is from previous cycle
+     if (!fEngine->Process(fBeginDateUst, fEndDateUst)) 
+-        jack_error("JackAudioDriver::ProcessAsync Process error");
++        jack_error("JackAudioDriver::ProcessGraphAsync: Process error");
+     fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
+     if (ProcessSlaves() < 0)
+-        jack_error("JackAudioDriver::ProcessAsync ProcessSlaves error");
++        jack_error("JackAudioDriver::ProcessGraphAsync: ProcessSlaves error");
+ }
  
-     int fPID;
-+    int fUUID;
-     char fName[JACK_CLIENT_NAME_SIZE + 1];
--
-+ 
-     JackClientOpenRequest()
-     {}
--    JackClientOpenRequest(const char* name, int pid): JackRequest(JackRequest::kClientOpen)
-+    JackClientOpenRequest(const char* name, int pid, int uuid): JackRequest(JackRequest::kClientOpen)
-     {
-         snprintf(fName, sizeof(fName), "%s", name);
-         fPID = pid;
-+        fUUID = uuid;
+ void JackAudioDriver::ProcessGraphSync()
+@@ -282,11 +282,11 @@
+     if (fEngine->Process(fBeginDateUst, fEndDateUst)) { 
+         fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable);
+         if (ProcessSlaves() < 0)
+-            jack_error("JackAudioDriver::ProcessSync ProcessSlaves error, engine may now behave abnormally!!");
++            jack_error("JackAudioDriver::ProcessGraphSync: ProcessSlaves error, engine may now behave abnormally!!");
+         if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, DRIVER_TIMEOUT_FACTOR * fEngineControl->fTimeOutUsecs) < 0)
+-            jack_error("JackAudioDriver::ProcessSync SuspendRefNum error, engine may now behave abnormally!!");
++            jack_error("JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!");
+     } else { // Graph not finished: do not activate it
+-        jack_error("JackAudioDriver::ProcessSync: error");
++        jack_error("JackAudioDriver::ProcessGraphSync: Process error");
      }
+ }
  
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fPID, sizeof(int)));
--        return trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1);
-+        CheckRes(trans->Read(&fUUID, sizeof(int)));
-+        return trans->Read(&fName,  sizeof(fName));
-     }
+--- a/common/JackInternalClient.h
++++ b/common/JackInternalClient.h
+@@ -46,14 +46,14 @@
+         JackInternalClient(JackServer* server, JackSynchro* table);
+         virtual ~JackInternalClient();
  
-     int Write(JackChannelTransaction* trans)
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fPID, sizeof(int)));
--        return trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1);
-+        CheckRes(trans->Write(&fUUID, sizeof(int)));
-+        return trans->Write(&fName,  sizeof(fName));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+-        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
++        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
  
- /*!
- \brief NewClient result.
-@@ -260,7 +273,7 @@
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         JackGraphManager* GetGraphManager() const;
+         JackEngineControl* GetEngineControl() const;
+         JackClientControl* GetClientControl() const;
  
- /*!
- \brief CloseClient request.
-@@ -287,7 +300,7 @@
-         return trans->Write(&fRefNum, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+-        static JackGraphManager* fGraphManager;		/*! Shared memory Port manager */
+-        static JackEngineControl* fEngineControl;	/*! Shared engine cotrol */
++        static JackGraphManager* fGraphManager;         /*! Shared memory Port manager */
++        static JackEngineControl* fEngineControl;       /*! Shared engine cotrol */
+ };
  
  /*!
- \brief Activate request.
-@@ -318,7 +331,7 @@
-         return trans->Write(&fIsRealTime, sizeof(int));
-     }
+@@ -100,7 +100,7 @@
+         {}
  
--} POST_PACKED_STRUCTURE;
-+};
+         int Init(const char* so_name);
+-        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
++        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
  
- /*!
- \brief Deactivate request.
-@@ -345,7 +358,7 @@
-         return trans->Write(&fRefNum, sizeof(int));
-     }
+ };
  
--} POST_PACKED_STRUCTURE;
-+};
+@@ -119,7 +119,7 @@
+         {}
  
- /*!
- \brief PortRegister request.
-@@ -372,8 +385,8 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
--        CheckRes(trans->Read(&fName, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Read(&fPortType, JACK_PORT_TYPE_SIZE + 1));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-+        CheckRes(trans->Read(&fPortType, sizeof(fPortType)));
-         CheckRes(trans->Read(&fFlags, sizeof(unsigned int)));
-         CheckRes(trans->Read(&fBufferSize, sizeof(unsigned int)));
-         return 0;
-@@ -383,14 +396,14 @@
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
--        CheckRes(trans->Write(&fName, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Write(&fPortType, JACK_PORT_TYPE_SIZE + 1));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-+        CheckRes(trans->Write(&fPortType, sizeof(fPortType)));
-         CheckRes(trans->Write(&fFlags, sizeof(unsigned int)));
-         CheckRes(trans->Write(&fBufferSize, sizeof(unsigned int)));
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         int Init(const char* so_name);
+-        int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status);
++        int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status);
  
- /*!
- \brief PortRegister result.
-@@ -416,7 +429,7 @@
-         return trans->Write(&fPortIndex, sizeof(jack_port_id_t));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+ };
  
- /*!
- \brief PortUnregister request.
-@@ -449,7 +462,7 @@
-         return 0;
+--- a/common/Jackdmp.cpp
++++ b/common/Jackdmp.cpp
+@@ -196,7 +196,7 @@
+                                        { "help", 0, 0, 'h' },
+                                        { "port-max", 1, 0, 'p' },
+                                        { "no-mlock", 0, 0, 'm' },
+-                                       { "name", 0, 0, 'n' },
++                                       { "name", 1, 0, 'n' },
+                                        { "unlock", 0, 0, 'u' },
+                                        { "realtime", 0, 0, 'R' },
+                                        { "no-realtime", 0, 0, 'r' }, 
+@@ -439,7 +439,9 @@
+         goto fail_free1;
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief PortConnectName request.
-@@ -474,8 +487,8 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
--        CheckRes(trans->Read(&fSrc, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Read(&fDst, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fSrc, sizeof(fSrc)));
-+        CheckRes(trans->Read(&fDst, sizeof(fDst)));
-         return 0;
+-    // Start server
++    // Setup signals then start server
++    signals = jackctl_setup_signals(0);
++   
+     if (!jackctl_server_start(server_ctl, audio_driver_ctl)) {
+         fprintf(stderr, "Failed to start server\n");
+         goto fail_free1;
+@@ -474,7 +476,6 @@
+     notify_server_start(server_name);
  
-     }
-@@ -484,12 +497,12 @@
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
--        CheckRes(trans->Write(&fSrc, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Write(&fDst, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fSrc, sizeof(fSrc)));
-+        CheckRes(trans->Write(&fDst, sizeof(fDst)));
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+     // Waits for signal
+-    signals = jackctl_setup_signals(0);
+     jackctl_wait_signals(signals);
  
- /*!
- \brief PortDisconnectName request.
-@@ -514,8 +527,8 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
--        CheckRes(trans->Read(&fSrc, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Read(&fDst, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fSrc, sizeof(fSrc)));
-+        CheckRes(trans->Read(&fDst, sizeof(fDst)));
-         return 0;
-     }
+     if (!jackctl_server_stop(server_ctl))
+--- a/common/JackDriverLoader.cpp
++++ b/common/JackDriverLoader.cpp
+@@ -32,7 +32,7 @@
  
-@@ -523,12 +536,12 @@
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
--        CheckRes(trans->Write(&fSrc, JACK_PORT_NAME_SIZE + 1));
--        CheckRes(trans->Write(&fDst, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fSrc, sizeof(fSrc)));
-+        CheckRes(trans->Write(&fDst, sizeof(fDst)));
-         return 0;
+ jack_driver_desc_t * jackctl_driver_get_desc(jackctl_driver_t * driver);
+ 
+-SERVER_EXPORT void jack_print_driver_options (jack_driver_desc_t* desc, FILE* file)
++EXPORT void jack_print_driver_options (jack_driver_desc_t* desc, FILE* file)
+ {
+     unsigned long i;
+     char arg_default[JACK_DRIVER_PARAM_STRING_MAX + 1];
+@@ -75,7 +75,7 @@
+     fprintf (file, "%s\n", desc->params[param].long_desc);
+ }
+ 
+-SERVER_EXPORT void jack_free_driver_params(JSList * driver_params)
++EXPORT void jack_free_driver_params(JSList * driver_params)
+ {
+     JSList *node_ptr = driver_params;
+     JSList *next_node_ptr;
+@@ -228,7 +228,7 @@
+     return 0;
+ }
+ 
+-SERVER_EXPORT int
++EXPORT int
+ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
+ {
+     struct option * long_options;
+@@ -436,17 +436,17 @@
+ 
+ #ifdef WIN32
+     if ((so_get_descriptor == NULL) && (dlerr = GetLastError()) != 0) {
+-        jack_log("jack_get_descriptor : dll is not a driver, err = %ld", dlerr);
++        jack_error("jack_get_descriptor : dll is not a driver, err = %ld", dlerr);
+ #else
+     if ((so_get_descriptor == NULL) && (dlerr = dlerror ()) != NULL) {
+-        jack_log("jack_get_descriptor err = %s", dlerr);
++        jack_error("jack_get_descriptor err = %s", dlerr);
+ #endif
+ 
+         UnloadDriverModule(dlhandle);
+         free(filename);
+         return NULL;
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
+-
++  
+     if ((descriptor = so_get_descriptor ()) == NULL) {
+         jack_error("driver from '%s' returned NULL descriptor", filename);
+         UnloadDriverModule(dlhandle);
+@@ -467,7 +467,7 @@
+     /* check it doesn't exist already */
+     for (node = drivers; node; node = jack_slist_next (node)) {
+         other_descriptor = (jack_driver_desc_t *) node->data;
+-
++    
+         if (strcmp(descriptor->name, other_descriptor->name) == 0) {
+             jack_error("the drivers in '%s' and '%s' both have the name '%s'; using the first",
+                        other_descriptor->file, filename, other_descriptor->name);
+@@ -563,6 +563,8 @@
+         desc = jack_get_descriptor (drivers, filedata.cFileName, "driver_get_descriptor");
+         if (desc) {
+             driver_list = jack_slist_append (driver_list, desc);
++        } else {
++            jack_error ("jack_get_descriptor returns null for \'%s\'", filedata.cFileName);
+         }
  
- /*!
- \brief PortConnect request.
-@@ -564,7 +577,7 @@
-         return 0;
+     } while (FindNextFile(file, &filedata));
+@@ -601,7 +603,7 @@
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief PortDisconnect request.
-@@ -598,10 +611,9 @@
-         CheckRes(trans->Write(&fSrc, sizeof(jack_port_id_t)));
-         CheckRes(trans->Write(&fDst, sizeof(jack_port_id_t)));
-         return 0;
+     while ((dir_entry = readdir(dir_stream))) {
 -
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
++    
+         /* check the filename is of the right format */
+         if (strncmp ("jack_", dir_entry->d_name, 5) != 0) {
+             continue;
+@@ -617,8 +619,11 @@
+         }
  
- /*!
- \brief PortRename request.
-@@ -626,7 +638,7 @@
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
-         CheckRes(trans->Read(&fPort, sizeof(jack_port_id_t)));
--        CheckRes(trans->Read(&fName, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-         return 0;
+         desc = jack_get_descriptor (drivers, dir_entry->d_name, "driver_get_descriptor");
++         
+         if (desc) {
+             driver_list = jack_slist_append (driver_list, desc);
++        } else {
++            jack_error ("jack_get_descriptor returns null for \'%s\'", dir_entry->d_name);
+         }
      }
  
-@@ -635,12 +647,12 @@
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
-         CheckRes(trans->Write(&fPort, sizeof(jack_port_id_t)));
--        CheckRes(trans->Write(&fName, JACK_PORT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-         return 0;
+@@ -687,6 +692,8 @@
+         desc = jack_get_descriptor (internals, filedata.cFileName, "jack_get_descriptor");
+         if (desc) {
+             driver_list = jack_slist_append (driver_list, desc);
++        } else {
++            jack_error ("jack_get_descriptor returns null for \'%s\'", filedata.cFileName);
+         }
  
+     } while (FindNextFile(file, &filedata));
+@@ -743,6 +750,8 @@
+         desc = jack_get_descriptor (internals, dir_entry->d_name, "jack_get_descriptor");
+         if (desc) {
+             driver_list = jack_slist_append (driver_list, desc);
++        } else {
++            jack_error ("jack_get_descriptor returns null for \'%s\'", dir_entry->d_name);
+         }
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief SetBufferSize request.
-@@ -668,7 +680,7 @@
-         return trans->Write(&fBufferSize, sizeof(jack_nframes_t));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+--- a/common/JackClient.h
++++ b/common/JackClient.h
+@@ -28,6 +28,7 @@
+ #include "JackPlatformPlug.h"
+ #include "JackChannel.h"
+ #include "types.h"
++#include "session.h"
+ #include "varargs.h"
+ #include <list>
  
- /*!
- \brief SetFreeWheel request.
-@@ -696,7 +708,7 @@
-         return trans->Write(&fOnOff, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+@@ -66,6 +67,7 @@
+         JackTimebaseCallback fTimebase;
+         JackSyncCallback fSync;
+         JackThreadCallback fThreadFun;
++        JackSessionCallback fSession;
  
- /*!
- \brief ReleaseTimebase request.
-@@ -724,7 +736,7 @@
-         return trans->Write(&fRefNum, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         void* fProcessArg;
+         void* fGraphOrderArg;
+@@ -83,12 +85,15 @@
+         void* fTimebaseArg;
+         void* fSyncArg;
+         void* fThreadFunArg;
++        void* fSessionArg;
+         char fServerName[64];
  
- /*!
- \brief SetTimebaseCallback request.
-@@ -755,7 +767,7 @@
-         return trans->Write(&fConditionnal, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         JackThread fThread;    /*! Thread to execute the Process function */
+         detail::JackClientChannelInterface* fChannel;
+         JackSynchro* fSynchroTable;
+         std::list<jack_port_id_t> fPortList;
++
++        bool fImmediateSessionReply;
+   
+         int StartThread();
+         void SetupDriverSync(bool freewheel);
+@@ -118,7 +123,7 @@
+         JackClient(JackSynchro* table);
+         virtual ~JackClient();
  
- /*!
- \brief GetInternalClientName request.
-@@ -786,7 +798,7 @@
-         return trans->Write(&fIntRefNum, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+-        virtual int Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status) = 0;
++        virtual int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status) = 0;
+         virtual int Close();
  
- /*!
- \brief GetInternalClient result.
-@@ -808,18 +820,18 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(JackResult::Read(trans));
--        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fName,  sizeof(fName)));
-         return 0;
-     }
+         virtual JackGraphManager* GetGraphManager() const = 0;
+@@ -173,6 +178,7 @@
+         virtual int SetPortRegistrationCallback(JackPortRegistrationCallback callback, void* arg);
+         virtual int SetPortConnectCallback(JackPortConnectCallback callback, void *arg);
+         virtual int SetPortRenameCallback(JackPortRenameCallback callback, void *arg);
++        virtual int SetSessionCallback(JackSessionCallback callback, void *arg);
  
-     int Write(JackChannelTransaction* trans)
-     {
-         CheckRes(JackResult::Write(trans));
--        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fName,  sizeof(fName)));
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         // Internal clients
+         virtual char* GetInternalClientName(int ref);
+@@ -184,6 +190,13 @@
+         void CycleSignal(int status);
+         int SetProcessThread(JackThreadCallback fun, void *arg);
  
- /*!
- \brief InternalClientHandle request.
-@@ -842,17 +854,17 @@
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
--        return trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1);
-+        return trans->Read(&fName,  sizeof(fName));
-     }
++        // Session api
++        virtual jack_session_command_t *SessionNotify(const char *target, jack_session_event_type_t type, const char *path);
++        virtual int SessionReply(jack_session_event_t *ev);
++char* GetUUIDForClientName(const char* client_name);
++char* GetClientNameForUUID(const char* uuid);
++int ReserveClientName(const char *name, const char* uuid);
++
+         // JackRunnableInterface interface
+         bool Init();
+         bool Execute();
+--- a/common/JackExternalClient.h
++++ b/common/JackExternalClient.h
+@@ -39,14 +39,14 @@
+     private:
  
-     int Write(JackChannelTransaction* trans)
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
--        return trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1);
-+        return trans->Write(&fName,  sizeof(fName));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+         JackNotifyChannel fChannel;   /*! Server/client communication channel */
+-        JackClientControl*	fClientControl;     /*! Client control in shared memory     */
++        JackClientControl*      fClientControl;     /*! Client control in shared memory     */
  
- /*!
- \brief InternalClientHandle result.
-@@ -886,7 +898,7 @@
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+     public:
  
- /*!
- \brief InternalClientLoad request.
-@@ -904,23 +916,26 @@
-     char fDllName[MAX_PATH + 1];
-     char fLoadInitName[JACK_LOAD_INIT_LIMIT + 1];
-     int fOptions;
-+    int fUUID;
+         JackExternalClient();
+         virtual ~JackExternalClient();
  
-     JackInternalClientLoadRequest()
-     {}
--    JackInternalClientLoadRequest(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options)
--            : JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options)
-+    JackInternalClientLoadRequest(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int uuid )
-+            : JackRequest(JackRequest::kInternalClientLoad), fRefNum(refnum), fOptions(options), fUUID(uuid)
-     {
-         snprintf(fName, sizeof(fName), "%s", client_name);
-         snprintf(fDllName, sizeof(fDllName), "%s", so_name);
-         snprintf(fLoadInitName, sizeof(fLoadInitName), "%s", objet_data);
-+        snprintf(fLoadInitName, sizeof(fLoadInitName), "%s", objet_data);
-     }
+-        int Open(const char* name, int pid, int refnum, int* shared_client);
++        int Open(const char* name, int pid, int refnum, int uuid, int* shared_client);
+         int Close();
  
-     int Read(JackChannelTransaction* trans)
-     {
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
--        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
--        CheckRes(trans->Read(&fDllName, MAX_PATH + 1));
--        CheckRes(trans->Read(&fLoadInitName, JACK_LOAD_INIT_LIMIT + 1));
-+        CheckRes(trans->Read(&fName,  sizeof(fName)));
-+        CheckRes(trans->Read(&fDllName, sizeof(fDllName)));
-+        CheckRes(trans->Read(&fLoadInitName, sizeof(fLoadInitName)));
-+        CheckRes(trans->Read(&fUUID, sizeof(int)));
-         return trans->Read(&fOptions, sizeof(int));
-     }
+         int ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2);
+--- a/common/JackEngine.cpp
++++ b/common/JackEngine.cpp
+@@ -44,12 +44,15 @@
+     fEngineControl = control;
+     for (int i = 0; i < CLIENT_NUM; i++)
+         fClientTable[i] = NULL;
++    fLastSwitchUsecs = 0;
++    fMaxUUID = 0;
++    fSessionPendingReplies = 0;
++    fSessionTransaction = NULL;
++    fSessionResult = NULL;
+ }
  
-@@ -928,13 +943,14 @@
-     {
-         CheckRes(JackRequest::Write(trans));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
--        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
--        CheckRes(trans->Write(&fDllName, MAX_PATH + 1));
--        CheckRes(trans->Write(&fLoadInitName, JACK_LOAD_INIT_LIMIT + 1));
-+        CheckRes(trans->Write(&fName,  sizeof(fName)));
-+        CheckRes(trans->Write(&fDllName, sizeof(fDllName)));
-+        CheckRes(trans->Write(&fLoadInitName, sizeof(fLoadInitName)));
-+        CheckRes(trans->Write(&fUUID, sizeof(int)));
-         return trans->Write(&fOptions, sizeof(int));
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+ JackEngine::~JackEngine()
+-{
+-    jack_log("JackEngine::~JackEngine");
+-}
++{}
  
- /*!
- \brief InternalClientLoad result.
-@@ -968,7 +984,7 @@
-         return 0;
-     }
-     
--} POST_PACKED_STRUCTURE;
-+};
+ int JackEngine::Open()
+ {
+@@ -134,7 +137,7 @@
+ void JackEngine::ProcessNext(jack_time_t cur_cycle_begin)
+ {
+     fLastSwitchUsecs = cur_cycle_begin;
+-    if (fGraphManager->RunNextGraph())	// True if the graph actually switched to a new state
++    if (fGraphManager->RunNextGraph())  // True if the graph actually switched to a new state
+         fChannel.Notify(ALL_CLIENTS, kGraphOrderCallback, 0);
+     fSignal.Signal();                   // Signal for threads waiting for next cycle
+ }
+@@ -386,7 +389,7 @@
+ // Client management
+ //-------------------
  
- /*!
- \brief InternalClientUnload request.
-@@ -998,7 +1014,7 @@
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
-         return trans->Write(&fIntRefNum, sizeof(int));
+-int JackEngine::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status)
++int JackEngine::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status)
+ {
+     // Clear status
+     *status = 0;
+@@ -400,7 +403,11 @@
+         return -1;
      }
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief InternalClientLoad result.
-@@ -1029,7 +1045,7 @@
-         return 0;
+-    if (ClientCheckName(name)) {
++    std::map<int,std::string>::iterator res = fReservationMap.find(uuid);
++
++    if (res != fReservationMap.end()) {
++        strncpy( name_res, res->second.c_str(), JACK_CLIENT_NAME_SIZE );
++    } else if (ClientCheckName(name)) {
+ 
+         *status |= JackNameNotUnique;
+ 
+@@ -426,7 +433,7 @@
+ 
+     if (length > JACK_CLIENT_NAME_SIZE - 4) {
+         jack_error("%s exists and is too long to make unique", name);
+-        return true;		/* failure */
++        return true;            /* failure */
      }
-     
--} POST_PACKED_STRUCTURE;
-+};
  
- /*!
- \brief ClientNotification request.
-@@ -1065,7 +1081,292 @@
-         return 0;
+     /*  generate a unique name by appending "-01".."-99" */
+@@ -460,9 +467,32 @@
+             return true;
      }
  
--} POST_PACKED_STRUCTURE;
-+};
-+
-+struct JackSessionCommand
-+{
-+    char fUUID[JACK_UUID_SIZE];
-+    char fClientName[JACK_CLIENT_NAME_SIZE+1];
-+    char fCommand[JACK_SESSION_COMMAND_SIZE];
-+    jack_session_flags_t fFlags;
-+
-+    JackSessionCommand()
-+    {}
-+
-+    JackSessionCommand( const char *uuid, const char *clientname, const char *command, jack_session_flags_t flags )
-+    {
-+        strncpy( fUUID, uuid, sizeof(fUUID));
-+        strncpy( fClientName, clientname, sizeof(fClientName));
-+        strncpy( fCommand, command, sizeof(fCommand));
-+        fFlags = flags;
++    for (std::map<int,std::string>::iterator i=fReservationMap.begin(); i!=fReservationMap.end(); i++) {
++        if (i->second == name)
++            return true;
 +    }
-+};
 +
-+struct JackSessionNotifyResult : public JackResult
+     return false;
+ }
+ 
++int JackEngine::GetNewUUID()
 +{
++    return fMaxUUID++;
++}
 +
-+    std::list<JackSessionCommand> fCommandList;
-+
-+    JackSessionNotifyResult(): JackResult()
-+    {}
-+    JackSessionNotifyResult(int32_t result)
-+            : JackResult(result)
-+    {}
-+
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackResult::Read(trans));
-+        while(1) {
-+            JackSessionCommand buffer;
-+
-+            CheckRes(trans->Read(buffer.fUUID, sizeof(buffer.fUUID)));
-+            if (buffer.fUUID[0] == '\0')
-+                break;
-+
-+            CheckRes(trans->Read(buffer.fClientName, sizeof(buffer.fClientName)));
-+            CheckRes(trans->Read(buffer.fCommand, sizeof(buffer.fCommand)));
-+            CheckRes(trans->Read(&(buffer.fFlags), sizeof(buffer.fFlags)));
++void JackEngine::EnsureUUID(int uuid)
++{
++    if (uuid > fMaxUUID)
++        fMaxUUID = uuid+1;
 +
-+            fCommandList.push_back(buffer);
++    for (int i = 0; i < CLIENT_NUM; i++) {
++        JackClientInterface* client = fClientTable[i];
++        if (client && (client->GetClientControl()->fSessionID==uuid)) {
++            client->GetClientControl()->fSessionID = GetNewUUID();
 +        }
-+        return 0;
 +    }
++}
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        char terminator[JACK_UUID_SIZE];
-+        terminator[0] = '\0';
+ int JackEngine::GetClientPID(const char* name)
+ {
+     for (int i = 0; i < CLIENT_NUM; i++) {
+@@ -486,9 +516,26 @@
+ }
+ 
+ // Used for external clients
+-int JackEngine::ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
++int JackEngine::ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager)
+ {
+-    jack_log("JackEngine::ClientExternalOpen: name = %s ", name);
++    char real_name[JACK_CLIENT_NAME_SIZE+1];
 +
-+        CheckRes(JackResult::Write(trans));
-+        for (std::list<JackSessionCommand>::iterator i=fCommandList.begin(); i!=fCommandList.end(); i++) {
-+            CheckRes(trans->Write(i->fUUID, sizeof(i->fUUID)));
-+            CheckRes(trans->Write(i->fClientName, sizeof(i->fClientName)));
-+            CheckRes(trans->Write(i->fCommand, sizeof(i->fCommand)));
-+            CheckRes(trans->Write(&(i->fFlags), sizeof(i->fFlags)));
++    if (uuid < 0) {
++        uuid = GetNewUUID();
++        strncpy( real_name, name, JACK_CLIENT_NAME_SIZE );
++    } else {
++        std::map<int,std::string>::iterator res = fReservationMap.find(uuid);
++        if (res != fReservationMap.end()) {
++            strncpy( real_name, res->second.c_str(), JACK_CLIENT_NAME_SIZE );
++            fReservationMap.erase(uuid);
++        } else {
++            strncpy( real_name, name, JACK_CLIENT_NAME_SIZE );
 +        }
-+        CheckRes(trans->Write(terminator, sizeof(terminator)));
-+        return 0;
-+    }
-+    
-+};
-+
-+/*!
-+\brief SessionNotify request.
-+*/
-+
-+struct JackSessionNotifyRequest : public JackRequest
-+{
-+    char fPath[JACK_MESSAGE_SIZE + 1];
-+    char fDst[JACK_CLIENT_NAME_SIZE + 1];
-+    jack_session_event_type_t  fEventType;
-+    int  fRefNum;
 +
-+    JackSessionNotifyRequest()
-+    {}
-+    JackSessionNotifyRequest(int refnum, const char *path, jack_session_event_type_t type, const char *dst)
-+            : JackRequest(JackRequest::kSessionNotify), fEventType(type), fRefNum(refnum)
-+    {
-+        snprintf(fPath, sizeof(fPath), "%s", path);
-+        if (dst)
-+            snprintf(fDst, sizeof(fDst), "%s", dst);
-+        else
-+            fDst[0] = '\0';
++        EnsureUUID(uuid);
 +    }
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
-+        CheckRes(trans->Read(&fPath, sizeof(fPath)));
-+        CheckRes(trans->Read(&fDst, sizeof(fDst)));
-+        CheckRes(trans->Read(&fEventType, sizeof(fEventType)));
-+        return 0;
++    jack_log("JackEngine::ClientExternalOpen: uuid=%d, name = %s ", uuid, real_name);
+ 
+     int refnum = AllocateRefnum();
+     if (refnum < 0) {
+@@ -498,12 +545,12 @@
+ 
+     JackExternalClient* client = new JackExternalClient();
+ 
+-    if (!fSynchroTable[refnum].Allocate(name, fEngineControl->fServerName, 0)) {
++    if (!fSynchroTable[refnum].Allocate(real_name, fEngineControl->fServerName, 0)) {
+         jack_error("Cannot allocate synchro");
+         goto error;
+     }
+ 
+-    if (client->Open(name, pid, refnum, shared_client) < 0) {
++    if (client->Open(real_name, pid, refnum, uuid, shared_client) < 0) {
+         jack_error("Cannot open client");
+         goto error;
+     }
+@@ -516,7 +563,7 @@
+ 
+     fClientTable[refnum] = client;
+ 
+-    if (NotifyAddClient(client, name, refnum) < 0) {
++    if (NotifyAddClient(client, real_name, refnum) < 0) {
+         jack_error("Cannot notify add client");
+         goto error;
+     }
+@@ -863,5 +910,135 @@
+     return 0;
+ }
+ 
++void JackEngine::SessionNotify(int refnum, const char *target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket)
++{
++    if (fSessionPendingReplies != 0) {
++        JackSessionNotifyResult res(-1);
++        res.Write(socket);
++        jack_log("JackEngine::SessionNotify ... busy");
++        return;
 +    }
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackRequest::Write(trans));
-+        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
-+        CheckRes(trans->Write(&fPath, sizeof(fPath)));
-+        CheckRes(trans->Write(&fDst, sizeof(fDst)));
-+        CheckRes(trans->Write(&fEventType, sizeof(fEventType)));
-+        return 0;
++    for (int i = 0; i < CLIENT_NUM; i++) {
++        JackClientInterface* client = fClientTable[i];
++        if (client && (client->GetClientControl()->fSessionID < 0)) {
++            client->GetClientControl()->fSessionID = GetNewUUID();
++        }
 +    }
++    fSessionResult = new JackSessionNotifyResult();
 +
-+};
-+
-+struct JackSessionReplyRequest : public JackRequest
-+{
-+    int fRefNum;
++    for (int i = 0; i < CLIENT_NUM; i++) {
++        JackClientInterface* client = fClientTable[i];
++        if (client && client->GetClientControl()->fCallback[kSessionCallback]) {
 +
-+    JackSessionReplyRequest()
-+    {}
++            // check if this is a notification to a specific client.
++            if (target!=NULL && strlen(target)!=0) {
++                if (strcmp(target, client->GetClientControl()->fName)) {
++                    continue;
++                }
++            }
 +
-+    JackSessionReplyRequest(int refnum)
-+            : JackRequest(JackRequest::kSessionReply), fRefNum(refnum)
-+    {}
++            char path_buf[JACK_PORT_NAME_SIZE];
++            snprintf( path_buf, sizeof(path_buf), "%s%s%c", path, client->GetClientControl()->fName, DIR_SEPARATOR );
++            
++            int res = JackTools::MkDir(path_buf);
++            if (res) 
++                jack_error( "JackEngine::SessionNotify: can not create session directory '%s'", path_buf );
++        
++            int result = client->ClientNotify(i, client->GetClientControl()->fName, kSessionCallback, true, path_buf, (int) type, 0);
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
-+        return 0;
++            if (result == 2) {
++                fSessionPendingReplies += 1;
++            } else if (result == 1) {
++                char uuid_buf[JACK_UUID_SIZE];
++                snprintf( uuid_buf, sizeof(uuid_buf), "%d", client->GetClientControl()->fSessionID );
++                fSessionResult->fCommandList.push_back( JackSessionCommand( uuid_buf, 
++                                                                            client->GetClientControl()->fName,
++                                                                            client->GetClientControl()->fSessionCommand, 
++                                                                            client->GetClientControl()->fSessionFlags ));
++            }
++        }
 +    }
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackRequest::Write(trans));
-+        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
-+        return 0;
++    if (fSessionPendingReplies == 0) {
++        fSessionResult->Write(socket);
++        delete fSessionResult;
++        fSessionResult = NULL;
++    } else {
++        fSessionTransaction = socket;
 +    }
++}
 +
-+};
-+
-+struct JackClientNameResult : public JackResult
++void JackEngine::SessionReply(int refnum)
 +{
-+    char fName[JACK_CLIENT_NAME_SIZE + 1];
++    JackClientInterface* client = fClientTable[refnum];
++    char uuid_buf[JACK_UUID_SIZE];
++    snprintf( uuid_buf, sizeof(uuid_buf), "%d", client->GetClientControl()->fSessionID );
++    fSessionResult->fCommandList.push_back( JackSessionCommand( uuid_buf, 
++                                                                client->GetClientControl()->fName,
++                                                                client->GetClientControl()->fSessionCommand, 
++                                                                client->GetClientControl()->fSessionFlags ));
++    fSessionPendingReplies -= 1;
 +
-+    JackClientNameResult(): JackResult()
-+    {}
-+    JackClientNameResult(int32_t result, const char* name)
-+            : JackResult(result)
-+    {
-+        snprintf(fName, sizeof(fName), "%s", name);
++    if (fSessionPendingReplies == 0) {
++        fSessionResult->Write(fSessionTransaction);
++        delete fSessionResult;
++        fSessionResult = NULL;
 +    }
++}
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackResult::Read(trans));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-+        return 0;
-+    }
++void JackEngine::GetUUIDForClientName(const char *client_name, char *uuid_res, int *result)
++{
++    for (int i = 0; i < CLIENT_NUM; i++) {
++        JackClientInterface* client = fClientTable[i];
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackResult::Write(trans));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-+        return 0;
++        if (client && (strcmp(client_name, client->GetClientControl()->fName)==0)) {
++            snprintf(uuid_res, JACK_UUID_SIZE, "%d", client->GetClientControl()->fSessionID);
++            *result = 0;
++            return;
++        }
 +    }
-+    
-+};
++    // did not find name.
++    *result = -1;
++    return;
++}
 +
-+struct JackUUIDResult : public JackResult
++void JackEngine::GetClientNameForUUID(const char *uuid, char *name_res, int *result)
 +{
++    for (int i = 0; i < CLIENT_NUM; i++) {
++        JackClientInterface* client = fClientTable[i];
 +
-+    char fUUID[JACK_UUID_SIZE];
-+
-+    JackUUIDResult(): JackResult()
-+    {}
-+    JackUUIDResult(int32_t result, const char* uuid)
-+            : JackResult(result)
-+    {
-+        snprintf(fUUID, sizeof(fUUID), "%s", uuid);
-+    }
++        if (!client)
++            continue;
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackResult::Read(trans));
-+        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
-+        return 0;
-+    }
++        char uuid_buf[JACK_UUID_SIZE];
++        snprintf(uuid_buf, JACK_UUID_SIZE, "%d", client->GetClientControl()->fSessionID);
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackResult::Write(trans));
-+        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
-+        return 0;
++        if (strcmp(uuid,uuid_buf) == 0) {
++            strncpy(name_res, client->GetClientControl()->fName, JACK_CLIENT_NAME_SIZE);
++            *result = 0;
++            return;
++        }
 +    }
-+    
-+};
++    // did not find uuid.
++    *result = -1;
++    return;
++}
 +
-+struct JackGetUUIDRequest : public JackRequest
++void JackEngine::ReserveClientName(const char *name, const char *uuid, int *result)
 +{
-+    char fName[JACK_CLIENT_NAME_SIZE + 1];
-+
-+    JackGetUUIDRequest()
-+    {}
++    jack_log( "JackEngine::ReserveClientName ( name = %s, uuid = %s )", name, uuid );
 +
-+    JackGetUUIDRequest(const char* client_name)
-+            : JackRequest(JackRequest::kGetUUIDByClient)
-+    {
-+        strncpy(fName, client_name, sizeof(fName));
++    if (ClientCheckName(name)) {
++        *result = -1;
++        jack_log( "name already taken" );
++        return;
 +    }
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-+        return 0;
-+    }
++    EnsureUUID(atoi(uuid));
++    fReservationMap[atoi(uuid)] = name;
++    *result = 0;
++}
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackRequest::Write(trans));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
+ } // end of namespace
+ 
+--- a/common/JackServer.h
++++ b/common/JackServer.h
+@@ -58,7 +58,7 @@
+         JackSynchro fSynchroTable[CLIENT_NUM];
+         bool fFreewheel;
+         
+-        int InternalClientLoadAux(JackLoadableInternalClient* client, const char* so_name, const char* client_name, int options, int* int_ref, int* status);
++        int InternalClientLoadAux(JackLoadableInternalClient* client, const char* so_name, const char* client_name, int options, int* int_ref, int uuid, int* status);
+ 
+     public:
+ 
+@@ -77,8 +77,8 @@
+         // Command thread : API
+         int SetBufferSize(jack_nframes_t buffer_size);
+         int SetFreewheel(bool onoff);
+-        int InternalClientLoad(const char* client_name, const char* so_name, const char* objet_data, int options, int* int_ref, int* status);
+-        int InternalClientLoad(const char* client_name, const char* so_name, const JSList * parameters, int options, int* int_ref, int* status);
++        int InternalClientLoad(const char* client_name, const char* so_name, const char* objet_data, int options, int* int_ref, int uuid, int* status);
++        int InternalClientLoad(const char* client_name, const char* so_name, const JSList * parameters, int options, int* int_ref, int uuid, int* status);
+         void ClientKill(int refnum);
+ 
+         // Transport management
+--- a/common/JackClient.cpp
++++ b/common/JackClient.cpp
+@@ -112,9 +112,9 @@
+ }
+ 
+ /*!
+-	In "async" mode, the server does not synchronize itself on the output drivers, thus it would never "consume" the activations.
+-	The synchronization primitives for drivers are setup in "flush" mode that to not keep unneeded activations.
+-	Drivers synchro are setup in "flush" mode if server is "async" and NOT freewheel.
++        In "async" mode, the server does not synchronize itself on the output drivers, thus it would never "consume" the activations.
++        The synchronization primitives for drivers are setup in "flush" mode that to not keep unneeded activations.
++        Drivers synchro are setup in "flush" mode if server is "async" and NOT freewheel.
+ */
+ void JackClient::SetupDriverSync(bool freewheel)
+ {
+@@ -170,7 +170,7 @@
+ 
+             case kAddClient:
+                 jack_log("JackClient::kAddClient fName = %s name = %s", GetClientControl()->fName, name);
+-                if (fClientRegistration && strcmp(GetClientControl()->fName, name) != 0) {	// Don't call the callback for the registering client itself
++                if (fClientRegistration && strcmp(GetClientControl()->fName, name) != 0) {      // Don't call the callback for the registering client itself
+                     fClientRegistration(name, 1, fClientRegistrationArg);
+                 }
+                 break;
+@@ -272,6 +272,23 @@
+                     fInfoShutdown = NULL;
+                 }
+                 break;
++
++            case kSessionCallback:
++                jack_log("JackClient::kSessionCallback");
++                if (fSession) {
++                    jack_session_event_t *event = (jack_session_event_t *) malloc( sizeof(jack_session_event_t) );
++                    char uuid_buf[JACK_UUID_SIZE];
++                    event->type = (jack_session_event_type_t) value1;
++                    event->session_dir = strdup( message );
++                    event->command_line = NULL;
++                    event->flags = (jack_session_flags_t) 0;
++                    snprintf( uuid_buf, sizeof(uuid_buf), "%d", GetClientControl()->fSessionID );
++                    event->client_uuid = strdup( uuid_buf );
++                    fImmediateSessionReply = false;
++                    fSession(event, fSessionArg);
++                    res = (fImmediateSessionReply) ? 1 : 2;
++                }
++                break;
+         }
+     }
+ 
+@@ -280,7 +297,7 @@
+ 
+ /*!
+ \brief We need to start thread before activating in the server, otherwise the FW driver
+-	   connected to the client may not be activated.
++           connected to the client may not be activated.
+ */
+ int JackClient::Activate()
+ {
+@@ -410,7 +427,7 @@
+     while (true) { 
+         CycleWaitAux();
+         CycleSignalAux(CallProcessCallback());  
+-	}
++        }
+ }
+ 
+ inline jack_nframes_t JackClient::CycleWaitAux()
+@@ -981,6 +998,19 @@
+     }
+ }
+ 
++int JackClient::SetSessionCallback(JackSessionCallback callback, void *arg)
++{
++    if (IsActive()) {
++        jack_error("You cannot set callbacks on an active client");
++        return -1;
++    } else {
++        GetClientControl()->fCallback[kSessionCallback] = (callback != NULL);
++        fSessionArg = arg;
++        fSession = callback;
 +        return 0;
 +    }
++}
 +
-+};
+ //------------------
+ // Internal clients
+ //------------------
+@@ -1027,9 +1057,8 @@
+         return 0;
+     }
+ 
+-    int int_ref = 0;
+-    int result = -1;
+-    fChannel->InternalClientLoad(GetClientControl()->fRefNum, client_name, va->load_name, va->load_init, options, (int*)status, &int_ref, &result);
++    int int_ref, result = -1;
++    fChannel->InternalClientLoad(GetClientControl()->fRefNum, client_name, va->load_name, va->load_init, options, (int*)status, &int_ref, -1, &result);
+     return int_ref;
+ }
+ 
+@@ -1039,6 +1068,71 @@
+     fChannel->InternalClientUnload(GetClientControl()->fRefNum, ref, (int*)status, &result);
+ }
+ 
++//------------------
++// Session API
++//------------------
 +
-+struct JackGetClientNameRequest : public JackRequest
++jack_session_command_t *JackClient::SessionNotify( const char* target, jack_session_event_type_t type, const char* path )
 +{
-+    char fUUID[JACK_UUID_SIZE];
-+
-+    JackGetClientNameRequest()
-+    {}
++    jack_session_command_t *res;
++    fChannel->SessionNotify( GetClientControl()->fRefNum, target, type, path, &res );
++    return res;
++}
 +
-+    JackGetClientNameRequest(const char* uuid)
-+            : JackRequest(JackRequest::kGetClientByUUID)
-+    {
-+        strncpy(fUUID, uuid, sizeof(fUUID));
++int JackClient::SessionReply( jack_session_event_t *ev )
++{
++    if (ev->command_line) {
++        strncpy( GetClientControl()->fSessionCommand, ev->command_line, sizeof(GetClientControl()->fSessionCommand) );
++    } else {
++        GetClientControl()->fSessionCommand[0] = '\0';
 +    }
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
-+        return 0;
-+    }
++    GetClientControl()->fSessionFlags = ev->flags;
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackRequest::Write(trans));
-+        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
++    jack_log( "JackClient::SessionReply... we are here" );
++    if (fChannel->IsChannelThread()) {
++        jack_log( "JackClient::SessionReply... in callback reply" );
++        fImmediateSessionReply = true;
 +        return 0;
 +    }
 +
-+};
++    jack_log( "JackClient::SessionReply... out of cb" );
 +
-+struct JackReserveNameRequest : public JackRequest
++    int res;
++    fChannel->SessionReply( GetClientControl()->fRefNum, &res);
++    return res;
++}
++
++char* JackClient::GetUUIDForClientName(const char* client_name)
 +{
-+    int  fRefNum;
-+    char fName[JACK_CLIENT_NAME_SIZE + 1];
-+    char fUUID[JACK_UUID_SIZE];
++    char uuid_res[JACK_UUID_SIZE];
++    int result = -1;
++    fChannel->GetUUIDForClientName( GetClientControl()->fRefNum, client_name, uuid_res, &result);
 +
-+    JackReserveNameRequest()
-+    {}
++    if (result)
++        return NULL;
 +
-+    JackReserveNameRequest(int refnum, const char *name, const char* uuid)
-+            : JackRequest(JackRequest::kReserveClientName), fRefNum(refnum)
-+    {
-+        strncpy(fName, name, sizeof(fName));
-+        strncpy(fUUID, uuid, sizeof(fUUID));
-+    }
++    return strdup(uuid_res);
++}
 +
-+    int Read(JackChannelTransaction* trans)
-+    {
-+        CheckRes(trans->Read(&fUUID, sizeof(fUUID)));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-+        CheckRes(trans->Read(&fRefNum, sizeof(fRefNum)));
-+        return 0;
-+    }
++char* JackClient::GetClientNameForUUID(const char* uuid)
++{
++    char name_res[JACK_CLIENT_NAME_SIZE + 1];
++    int result = -1;
++    fChannel->GetClientNameForUUID(GetClientControl()->fRefNum, uuid, name_res, &result);
 +
-+    int Write(JackChannelTransaction* trans)
-+    {
-+        CheckRes(JackRequest::Write(trans));
-+        CheckRes(trans->Write(&fUUID, sizeof(fUUID)));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-+        CheckRes(trans->Write(&fRefNum, sizeof(fRefNum)));
-+        return 0;
-+    }
++    if (result)
++        return NULL;
 +
-+};
++    return strdup(name_res);
++}
++
++int JackClient::ReserveClientName(const char *name, const char* uuid)
++{
++    int result = -1;
++    fChannel->ReserveClientName( GetClientControl()->fRefNum, name, uuid, &result);
++    return result;
++}
  
- /*!
- \brief ClientNotification.
-@@ -1092,29 +1393,29 @@
+ } // end of namespace
  
-     int Read(JackChannelTransaction* trans)
-     {
--        CheckRes(trans->Read(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Read(&fName, sizeof(fName)));
-         CheckRes(trans->Read(&fRefNum, sizeof(int)));
-         CheckRes(trans->Read(&fNotify, sizeof(int)));
-         CheckRes(trans->Read(&fValue1, sizeof(int)));
-         CheckRes(trans->Read(&fValue2, sizeof(int)));
-         CheckRes(trans->Read(&fSync, sizeof(int)));
--        CheckRes(trans->Read(&fMessage, JACK_MESSAGE_SIZE + 1));
-+        CheckRes(trans->Read(&fMessage, sizeof(fName)));
-         return 0;
+--- a/common/wscript
++++ b/common/wscript
+@@ -97,7 +97,7 @@
+             '../posix/JackPosixThread.cpp',
+             '../macosx/JackMachThread.cpp',
+             '../macosx/JackMachSemaphore.cpp',
+-            '../macosx/JackMachPort.cpp',
++            '../posix/JackSocket.cpp',
+             '../macosx/JackMachTime.c',
+             ]
+         includes = ['../macosx', '../macosx/RPC', '../posix'] + includes
+@@ -152,11 +152,9 @@
+ 
+     if bld.env['IS_MACOSX']:
+         serverlib.source += [
+-            '../macosx/JackMachServerChannel.cpp',
+-            '../macosx/JackMachNotifyChannel.cpp',
+-            '../macosx/JackMachServerNotifyChannel.cpp',
+-            '../macosx/JackMacEngineRPC.cpp',
+-            '../macosx/RPC/JackRPCClientUser.c',
++            '../posix/JackSocketServerChannel.cpp',
++            '../posix/JackSocketNotifyChannel.cpp',
++            '../posix/JackSocketServerNotifyChannel.cpp',
+             '../posix/JackNetUnixSocket.cpp',
+             ]
+ 
+@@ -205,9 +203,7 @@
+ 
+     if bld.env['IS_MACOSX']:
+         clientlib.source += [
+-            '../macosx/JackMachClientChannel.cpp',
+-            '../macosx/RPC/JackRPCEngineUser.c',
+-            '../macosx/JackMacLibClientRPC.cpp',
++            '../posix/JackSocketClientChannel.cpp',
+             '../posix/JackPosixServerLaunch.cpp',
+             ]
+ 
+--- a/common/varargs.h
++++ b/common/varargs.h
+@@ -32,14 +32,15 @@
+ 
+     /* variable argument structure */
+     typedef struct {
+-        char *server_name;		/* server name */
+-        char *load_name;		/* load module name */
+-        char *load_init;		/* initialization string */
++        char *server_name;              /* server name */
++        char *load_name;                /* load module name */
++        char *load_init;                /* initialization string */
++        int   session_id;               /* requested session_id */
      }
+     jack_varargs_t;
  
-     int Write(JackChannelTransaction* trans)
-     {
--        CheckRes(trans->Write(&fName, JACK_CLIENT_NAME_SIZE + 1));
-+        CheckRes(trans->Write(&fName, sizeof(fName)));
-         CheckRes(trans->Write(&fRefNum, sizeof(int)));
-         CheckRes(trans->Write(&fNotify, sizeof(int)));
-         CheckRes(trans->Write(&fValue1, sizeof(int)));
-         CheckRes(trans->Write(&fValue2, sizeof(int)));
-         CheckRes(trans->Write(&fSync, sizeof(int)));
--        CheckRes(trans->Write(&fMessage, JACK_MESSAGE_SIZE + 1));
-+        CheckRes(trans->Write(&fMessage, sizeof(fName)));
-         return 0;
+     static const char* jack_default_server_name (void) 
+-	{
++        {
+         const char *server_name;
+         if ((server_name = getenv("JACK_DEFAULT_SERVER")) == NULL)
+             server_name = "default";
+@@ -47,13 +48,14 @@
      }
  
--} POST_PACKED_STRUCTURE;
-+};
+     static inline void jack_varargs_init (jack_varargs_t *va) 
+-	{
++        {
+         memset (va, 0, sizeof(jack_varargs_t));
+         va->server_name = (char*)jack_default_server_name();
++        va->session_id = -1;
+     }
  
- } // end of namespace
+     static inline void jack_varargs_parse (jack_options_t options, va_list ap, jack_varargs_t *va) 
+-	{
++        {
+         // initialize default settings
+         jack_varargs_init (va);
+ 
+@@ -66,6 +68,11 @@
+             va->load_name = va_arg(ap, char *);
+         if ((options & JackLoadInit))
+             va->load_init = va_arg(ap, char *);
++        if ((options & JackSessionID)) {
++            char *sid = va_arg(ap, char *);
++            if (sid)
++                va->session_id = atoi( sid );
++        }
+     }
  
+ #ifdef __cplusplus
 --- a/common/JackServer.cpp
 +++ b/common/JackServer.cpp
 @@ -72,22 +72,22 @@
@@ -3478,28 +3413,106 @@ Forwarded: not-needed
          delete client;
          int my_status1 = *status | JackFailure;
          *status = (jack_status_t)my_status1;
---- a/common/JackServer.h
-+++ b/common/JackServer.h
-@@ -58,7 +58,7 @@
-         JackSynchro fSynchroTable[CLIENT_NUM];
-         bool fFreewheel;
-         
--        int InternalClientLoadAux(JackLoadableInternalClient* client, const char* so_name, const char* client_name, int options, int* int_ref, int* status);
-+        int InternalClientLoadAux(JackLoadableInternalClient* client, const char* so_name, const char* client_name, int options, int* int_ref, int uuid, int* status);
+--- a/common/JackEngine.h
++++ b/common/JackEngine.h
+@@ -26,6 +26,7 @@
+ #include "JackMutex.h"
+ #include "JackTransportEngine.h"
+ #include "JackPlatformPlug.h"
++#include <map>
  
-     public:
+ namespace Jack
+ {
+@@ -41,7 +42,7 @@
+ class SERVER_EXPORT JackEngine : public JackLockAble
+ {
+     friend class JackLockedEngine;
+-    
++
+     private:
+ 
+         JackGraphManager* fGraphManager;
+@@ -52,6 +53,12 @@
+         JackProcessSync fSignal;
+         jack_time_t fLastSwitchUsecs;
+ 
++        int fSessionPendingReplies;
++        JackChannelTransaction *fSessionTransaction;
++        JackSessionNotifyResult *fSessionResult;
++        std::map<int,std::string> fReservationMap;
++        int fMaxUUID;
++
+         int ClientCloseAux(int refnum, JackClientInterface* client, bool wait);
+         void CheckXRun(jack_time_t callback_usecs);
+ 
+@@ -69,12 +76,15 @@
+ 
+         void NotifyClient(int refnum, int event, int sync, const char*  message, int value1, int value2);
+         void NotifyClients(int event, int sync, const char*  message,  int value1, int value2);
+-    
++
+         void NotifyPortRegistation(jack_port_id_t port_index, bool onoff);
+         void NotifyPortConnect(jack_port_id_t src, jack_port_id_t dst, bool onoff);
+         void NotifyPortRename(jack_port_id_t src, const char* old_name);
+         void NotifyActivate(int refnum);
+-        
++
++        int GetNewUUID();
++        void EnsureUUID(int uuid);
++
+         bool CheckClient(int refnum)
+         {
+             return (refnum >= 0 && refnum < CLIENT_NUM && fClientTable[refnum] != NULL);
+@@ -87,10 +97,10 @@
+ 
+         int Open();
+         int Close();
+-  
++
+         // Client management
+-        int ClientCheck(const char* name, char* name_res, int protocol, int options, int* status);
+-        int ClientExternalOpen(const char* name, int pid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager);
++        int ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status);
++        int ClientExternalOpen(const char* name, int pid, int uuid, int* ref, int* shared_engine, int* shared_client, int* shared_graph_manager);
+         int ClientInternalOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, bool wait);
+ 
+         int ClientExternalClose(int refnum);
+@@ -98,10 +108,10 @@
+ 
+         int ClientActivate(int refnum, bool is_real_time);
+         int ClientDeactivate(int refnum);
+-    
++
+         int GetClientPID(const char* name);
+         int GetClientRefNum(const char* name);
+-    
++
+         // Internal client management
+         int GetInternalClientName(int int_ref, char* name_res);
+         int InternalClientHandle(const char* client_name, int* status, int* int_ref);
+@@ -116,7 +126,7 @@
+ 
+         int PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst);
+         int PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst);
+-        
++
+         int PortRename(int refnum, jack_port_id_t port, const char* name);
+ 
+         // Graph
+@@ -131,6 +141,13 @@
+         void NotifySampleRate(jack_nframes_t sample_rate);
+         void NotifyFreewheel(bool onoff);
+         void NotifyQuit();
++
++        void SessionNotify( int refnum, const char *target, jack_session_event_type_t type, const char *path, JackChannelTransaction *socket );
++        void SessionReply( int refnum );
++
++        void GetUUIDForClientName(const char *client_name, char *uuid_res, int *result);
++        void GetClientNameForUUID(const char *uuid, char *name_res, int *result);
++        void ReserveClientName(const char *name, const char *uuid, int *result);
+ };
  
-@@ -77,8 +77,8 @@
-         // Command thread : API
-         int SetBufferSize(jack_nframes_t buffer_size);
-         int SetFreewheel(bool onoff);
--        int InternalClientLoad(const char* client_name, const char* so_name, const char* objet_data, int options, int* int_ref, int* status);
--        int InternalClientLoad(const char* client_name, const char* so_name, const JSList * parameters, int options, int* int_ref, int* status);
-+        int InternalClientLoad(const char* client_name, const char* so_name, const char* objet_data, int options, int* int_ref, int uuid, int* status);
-+        int InternalClientLoad(const char* client_name, const char* so_name, const JSList * parameters, int options, int* int_ref, int uuid, int* status);
-         void ClientKill(int refnum);
  
-         // Transport management
 --- a/common/JackServerAPI.cpp
 +++ b/common/JackServerAPI.cpp
 @@ -53,7 +53,7 @@
@@ -3549,16 +3562,6 @@ Forwarded: not-needed
          jack_log("jack_client_close res = %d", res);
      }
      JackGlobals::fOpenMutex->Unlock();
---- a/common/JackThread.h
-+++ b/common/JackThread.h
-@@ -106,6 +106,7 @@
-         int DropSelfRealTime();                 // Used when called from thread itself
- 
-         pthread_t GetThreadID();
-+        bool IsThread();
- 
-         static int AcquireRealTimeImp(pthread_t thread, int priority);
-         static int AcquireRealTimeImp(pthread_t thread, int priority, UInt64 period, UInt64 computation, UInt64 constraint);
 --- a/common/JackTools.cpp
 +++ b/common/JackTools.cpp
 @@ -20,6 +20,7 @@
@@ -3585,107 +3588,344 @@ Forwarded: not-needed
  
  #define DEFAULT_TMP_DIR "/tmp"
      char* jack_tmpdir = (char*)DEFAULT_TMP_DIR;
---- a/common/JackTools.h
-+++ b/common/JackTools.h
-@@ -22,7 +22,10 @@
+--- a/common/JackInternalClient.cpp
++++ b/common/JackInternalClient.cpp
+@@ -63,7 +63,7 @@
+     delete fChannel;
+ }
  
- #ifdef WIN32
- #include <windows.h>
-+#define DIR_SEPARATOR '\\'
- #else
-+#define DIR_SEPARATOR '/'
-+#include <sys/stat.h>
- #include <sys/types.h>
- #include <unistd.h>
- #include <dirent.h>
-@@ -58,6 +61,7 @@
+-int JackInternalClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
++int JackInternalClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
+ {
+     int result;
+     char name_res[JACK_CLIENT_NAME_SIZE + 1];
+@@ -71,7 +71,7 @@
  
-         static void KillServer();
+     strncpy(fServerName, server_name, sizeof(fServerName));
  
-+        static int MkDir(const char* path);
-         static char* UserDir();
-         static char* ServerDir ( const char* server_name, char* server_dir );
-         static const char* DefaultServerName();
---- a/common/Jackdmp.cpp
-+++ b/common/Jackdmp.cpp
-@@ -196,7 +196,7 @@
-                                        { "help", 0, 0, 'h' },
-                                        { "port-max", 1, 0, 'p' },
-                                        { "no-mlock", 0, 0, 'm' },
--                                       { "name", 0, 0, 'n' },
-+                                       { "name", 1, 0, 'n' },
-                                        { "unlock", 0, 0, 'u' },
-                                        { "realtime", 0, 0, 'R' },
-                                        { "no-realtime", 0, 0, 'r' }, 
-@@ -439,7 +439,9 @@
-         goto fail_free1;
-     }
+-    fChannel->ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
++    fChannel->ClientCheck(name, uuid, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
+     if (result < 0) {
+         int status1 = *status;
+         if (status1 & JackVersionError)
+@@ -198,11 +198,11 @@
+         UnloadJackModule(fHandle);
+ }
  
--    // Start server
-+    // Setup signals then start server
-+    signals = jackctl_setup_signals(0);
-+   
-     if (!jackctl_server_start(server_ctl, audio_driver_ctl)) {
-         fprintf(stderr, "Failed to start server\n");
-         goto fail_free1;
-@@ -474,7 +476,6 @@
-     notify_server_start(server_name);
+-int JackLoadableInternalClient1::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
++int JackLoadableInternalClient1::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
+ {
+     int res = -1;
+     
+-    if (JackInternalClient::Open(server_name, name, options, status) == 0) {
++    if (JackInternalClient::Open(server_name, name, uuid, options, status) == 0) {
+         if (fInitialize((jack_client_t*)this, fObjectData) == 0) {
+             res = 0;
+         } else {
+@@ -214,11 +214,11 @@
+     return res;
+ }
  
-     // Waits for signal
--    signals = jackctl_setup_signals(0);
-     jackctl_wait_signals(signals);
+-int JackLoadableInternalClient2::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
++int JackLoadableInternalClient2::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
+ {
+     int res = -1;
+     
+-    if (JackInternalClient::Open(server_name, name, options, status) == 0) {
++    if (JackInternalClient::Open(server_name, name, uuid, options, status) == 0) {
+         if (fInitialize((jack_client_t*)this, fParameters) == 0) {
+             res = 0;
+         } else {
+--- a/common/JackDebugClient.cpp
++++ b/common/JackDebugClient.cpp
+@@ -36,8 +36,8 @@
  
-     if (!jackctl_server_stop(server_ctl))
---- a/common/jack/jack.h
-+++ b/common/jack/jack.h
-@@ -625,13 +625,16 @@
-  * name.  Exceeding that will cause the port registration to fail and
-  * return NULL.
-  *
-+ * The @a port_name must be unique among all ports owned by this client.  
-+ * If the name is not unique, the registration will fail.  
-+ * 
-  * All ports have a type, which may be any non-NULL and non-zero
-  * length string, passed as an argument.  Some port types are built
-  * into the JACK API, currently only JACK_DEFAULT_AUDIO_TYPE.
-  *
-  * @param client pointer to JACK client structure.
-  * @param port_name non-empty short name for the new port (not
-- * including the leading @a "client_name:").
-+ * including the leading @a "client_name:"). Must be unique. 
-  * @param port_type port type name.  If longer than
-  * jack_port_type_size(), only that many characters are significant.
-  * @param flags @ref JackPortFlags bit mask.
---- a/common/jack/midiport.h
-+++ b/common/jack/midiport.h
-@@ -105,6 +105,10 @@
-  * messages interspersed with other messages (realtime messages are fine
-  * when they occur on their own, like other messages).
-  *
-+ * Events must be written in order, sorted by their sample offsets. 
-+ * JACK will not sort the events for you, and will refuse to store  
-+ * out-of-order events. 
-+ * 
-  * @param port_buffer Buffer to write event to.
-  * @param time Sample offset of event.
-  * @param data_size Length of event's raw data in bytes.
-@@ -122,6 +126,16 @@
-  * This function is simply a wrapper for @ref jack_midi_event_reserve
-  * which writes the event data into the space reserved in the buffer.
-  * The same restrictions on the MIDI data apply.
+ JackDebugClient::JackDebugClient(JackClient * client)
+ {
+-    fTotalPortNumber = 1;	// The total number of port opened and maybe closed. Historical view.
+-    fOpenPortNumber = 0;	// The current number of opened port.
++    fTotalPortNumber = 1;       // The total number of port opened and maybe closed. Historical view.
++    fOpenPortNumber = 0;        // The current number of opened port.
+     fIsActivated = 0;
+     fIsDeactivated = 0;
+     fIsClosed = 0;
+@@ -78,9 +78,9 @@
+     delete fClient;
+ }
+ 
+-int JackDebugClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status)
++int JackDebugClient::Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status)
+ {
+-    int res = fClient->Open(server_name, name, options, status);
++    int res = fClient->Open(server_name, name, uuid, options, status);
+     char provstr[256];
+     char buffer[256];
+     time_t curtime;
+@@ -210,8 +210,8 @@
+     int res = fClient->PortUnRegister(port_index);
+     fOpenPortNumber--;
+     int i;
+-    for (i = (fTotalPortNumber - 1); i >= 0; i--) {	// We search the record into the history
+-        if (fPortList[i].idport == port_index) {		// We found the last record
++    for (i = (fTotalPortNumber - 1); i >= 0; i--) {     // We search the record into the history
++        if (fPortList[i].idport == port_index) {                // We found the last record
+             if (fPortList[i].IsUnregistered != 0)
+                 *fStream << "!!! ERROR !!! : '" << fClientName << "' id deregistering port '" << fPortList[i].name << "' that have already been unregistered !" << endl;
+             fPortList[i].IsUnregistered++;
+@@ -233,8 +233,8 @@
+         *fStream << "!!! ERROR !!! Trying to connect a port ( " << src << " to " << dst << ") while the client has not been activated !" << endl;
+     int i;
+     int res = fClient->PortConnect( src, dst);
+-    for (i = (fTotalPortNumber - 1); i >= 0; i--) {	// We search the record into the history
+-        if (strcmp(fPortList[i].name, src) == 0) {	// We found the last record in sources
++    for (i = (fTotalPortNumber - 1); i >= 0; i--) {     // We search the record into the history
++        if (strcmp(fPortList[i].name, src) == 0) {      // We found the last record in sources
+             if (fPortList[i].IsUnregistered != 0)
+                 *fStream << "!!! ERROR !!! Connecting port " << src << " previoulsy unregistered !" << endl;
+             fPortList[i].IsConnected++;
+@@ -293,8 +293,8 @@
+         *fStream << "!!! ERROR !!! : Trying to disconnect port  " << src << " while that client has not been activated !" << endl;
+     int res = fClient->PortDisconnect(src);
+     int i;
+-    for (i = (fTotalPortNumber - 1); i >= 0; i--) {		// We search the record into the history
+-        if (fPortList[i].idport == src) {				// We found the record in sources
++    for (i = (fTotalPortNumber - 1); i >= 0; i--) {             // We search the record into the history
++        if (fPortList[i].idport == src) {                               // We found the record in sources
+             if (fPortList[i].IsUnregistered != 0)
+                 *fStream << "!!! ERROR !!! : Disconnecting port  " << src << " previoulsy unregistered !" << endl;
+             fPortList[i].IsConnected--;
+--- /dev/null
++++ b/common/jack/session.h
+@@ -0,0 +1,229 @@
++/*
++    Copyright (C) 2001 Paul Davis
++    Copyright (C) 2004 Jack O'Quin
++    Copyright (C) 2010 Torben Hohn
++    
++    This program is free software; you can redistribute it and/or modify
++    it under the terms of the GNU Lesser General Public License as published by
++    the Free Software Foundation; either version 2.1 of the License, or
++    (at your option) any later version.
++    
++    This program 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 Lesser General Public License for more details.
++    
++    You should have received a copy of the GNU Lesser General Public License
++    along with this program; if not, write to the Free Software 
++    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++*/
++
++#ifndef __jack_session_h__
++#define __jack_session_h__
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <jack/types.h>
++#include <jack/weakmacros.h>
++
++/**
++ * @defgroup SessionClientFunctions Session API for clients.
++ * @{
++ */
++
++
++/**
++ * session event types.
 + *
-+ * Clients must not write more than 
-+ * @a data_size bytes into this buffer.  Clients must write normalised 
-+ * MIDI data to the port - no running status and no (1-byte) realtime 
-+ * messages interspersed with other messages (realtime messages are fine 
-+ * when they occur on their own, like other messages). 
-+ * 
-+ * Events must be written in order, sorted by their sample offsets. 
-+ * JACK will not sort the events for you, and will refuse to store  
-+ * out-of-order events.
-  * 
-  * @param port_buffer Buffer to write event to.
-  * @param time Sample offset of event.
++ * if a client cant save templates, i might just do a normal save.
++ *
++ * the rationale, why there is no quit without save, is that a client
++ * might refuse to quit when it has unsaved data.
++ * however some other clients might have already quit.
++ * this results in too much confusion, so we just dont support that.
++ * the session manager can check, if the saved state is different from a previous
++ * save, and just remove the saved stuff.
++ *
++ * (an inquiry function, whether a quit is ok, followed by a quit event
++ *  would have a race)
++ */
++enum JackSessionEventType {
++    JackSessionSave = 1,
++    JackSessionSaveAndQuit = 2,
++    JackSessionSaveTemplate = 3
++};
++
++typedef enum JackSessionEventType jack_session_event_type_t;
++
++enum JackSessionFlags {
++    /**
++     * an error occured while saving.
++     */
++    JackSessionSaveError = 0x01,
++
++    /**
++     * this reply indicates that a client is part of a multiclient application.
++     * the command reply is left empty. but the session manager should still
++     * consider this client part of a session. it will come up due to invocation of another
++     * client.
++     */
++    JackSessionChildClient = 0x02
++};
++
++typedef enum JackSessionFlags jack_session_flags_t;
++
++struct _jack_session_event {
++    /**
++     * the actual type of this session event.
++     */
++    jack_session_event_type_t type;
++
++    /**
++     * session_directory with trailing separator
++     * this is per client. so the client can do whatever it likes in here.
++     */
++    const char *session_dir;
++
++    /**
++     * client_uuid which must be specified to jack_client_open on session reload.
++     * client can specify it in the returned commandline as an option, or just save it
++     * with the state file.
++     */
++    const char *client_uuid;
++
++    /**
++     * the command_line is the reply of the client.
++     * it specifies in a platform dependent way, how the client must be restarted upon session reload.
++     *
++     * probably it should contain ${SESSION_DIR} instead of the actual session dir.
++     * this would basically make the session dir moveable.
++     *
++     * ownership of the memory is handed to jack.
++     * initially set to NULL by jack;
++     */
++    char *command_line;
++
++    /**
++     * flags to be set by the client. normally left 0.
++     */
++    jack_session_flags_t flags;
++};
++
++typedef struct _jack_session_event jack_session_event_t;
++
++/**
++ * Prototype for the client supplied function that is called
++ * whenever a session notification is sent via jack_session_notify().
++ *
++ * The session_id must be passed to jack_client_open on session reload (this can be
++ * done by specifying it somehow on the returned command line).
++ *
++ * @param event the event_structure.
++ * @param arg pointer to a client supplied structure
++ */
++typedef void (*JackSessionCallback)(jack_session_event_t *event, void *arg);
++
++/**
++ * Tell the JACK server to call @a save_callback the session handler wants
++ * to save.
++ *
++ * @return 0 on success, otherwise a non-zero error code
++ */
++int jack_set_session_callback(jack_client_t *client,
++                            JackSessionCallback session_callback,
++                            void *arg) JACK_WEAK_EXPORT;
++
++/**
++ * reply to a session_event
++ *
++ * this can either be called directly from the callback, or later from a different thread.
++ * so its possible to just stick the event pointer into a pipe and execute the save code
++ * from the gui thread.
++ *
++ * @return 0 on success, otherwise a non-zero error code
++ */
++
++int jack_session_reply( jack_client_t *client, jack_session_event_t *event ) JACK_WEAK_EXPORT;
++
++
++/**
++ * free memory used by a jack_session_event_t
++ * this also frees the memory used by the command_line pointer.
++ * if its non NULL.
++ */
++
++void jack_session_event_free (jack_session_event_t *event);
++
++/*@}*/
++
++
++/**
++ * @defgroup JackSessionManagerAPI  this API is intended for a sessionmanager.
++ *                                  this API could be server specific. if we dont reach consensus here,
++ *                                  we can just drop it.
++ *                                  i know its a bit clumsy.
++ *                                  but this api isnt required to be as stable as the client api.
++ * @{
++ */
++
++typedef struct  {
++        const char *uuid;
++        const char *client_name;
++        const char *command;
++        jack_session_flags_t flags;
++} jack_session_command_t;
++
++/**
++ * send a save or quit event, to all clients listening for session
++ * callbacks. the returned strings of the clients are accumulated and
++ * returned as an array of jack_session_command_t.
++ * its terminated by ret[i].uuid == NULL
++ * target == NULL means send to all interested clients. otherwise a clientname
++ */
++
++jack_session_command_t *jack_session_notify (jack_client_t* client,
++                                             const char *target,
++                                             jack_session_event_type_t type,
++                                             const char *path ) JACK_WEAK_EXPORT;
++
++/**
++ * free the memory allocated by a session command.
++ */
++
++void jack_session_commands_free (jack_session_command_t *cmds) JACK_WEAK_EXPORT;
++
++/**
++ * get the sessionid for a client name.
++ * the sessionmanager needs this to reassociate a client_name to the session_id.
++ */
++
++char *jack_get_uuid_for_client_name( jack_client_t *client, const char *client_name ) JACK_WEAK_EXPORT;
++
++/**
++ * get the client name for a session_id.
++ * in order to snapshot the graph connections, the sessionmanager needs to map
++ * session_ids to client names.
++ */
++
++char *jack_get_client_name_by_uuid( jack_client_t *client, const char *client_uuid ) JACK_WEAK_EXPORT;
++
++/**
++ * reserve a client name and associate it to a uuid.
++ * when a client later call jack_client_open() and specifies the uuid,
++ * jackd will assign the reserved name.
++ * this allows a session manager to know in advance under which client name
++ * its managed clients will appear.
++ *
++ * @return 0 on success, otherwise a non-zero error code
++ */
++
++int
++jack_reserve_client_name( jack_client_t *client, const char *name, const char *uuid ) JACK_WEAK_EXPORT;
++
++#ifdef __cplusplus
++}
++#endif
++#endif
 --- a/common/jack/types.h
 +++ b/common/jack/types.h
 @@ -23,18 +23,17 @@
@@ -3870,116 +4110,536 @@ Forwarded: not-needed
  
      int bar;
      int beat;
---- a/common/varargs.h
-+++ b/common/varargs.h
-@@ -32,14 +32,15 @@
+--- a/common/jack/midiport.h
++++ b/common/jack/midiport.h
+@@ -105,6 +105,10 @@
+  * messages interspersed with other messages (realtime messages are fine
+  * when they occur on their own, like other messages).
+  *
++ * Events must be written in order, sorted by their sample offsets. 
++ * JACK will not sort the events for you, and will refuse to store  
++ * out-of-order events. 
++ * 
+  * @param port_buffer Buffer to write event to.
+  * @param time Sample offset of event.
+  * @param data_size Length of event's raw data in bytes.
+@@ -122,6 +126,16 @@
+  * This function is simply a wrapper for @ref jack_midi_event_reserve
+  * which writes the event data into the space reserved in the buffer.
+  * The same restrictions on the MIDI data apply.
++ *
++ * Clients must not write more than 
++ * @a data_size bytes into this buffer.  Clients must write normalised 
++ * MIDI data to the port - no running status and no (1-byte) realtime 
++ * messages interspersed with other messages (realtime messages are fine 
++ * when they occur on their own, like other messages). 
++ * 
++ * Events must be written in order, sorted by their sample offsets. 
++ * JACK will not sort the events for you, and will refuse to store  
++ * out-of-order events.
+  * 
+  * @param port_buffer Buffer to write event to.
+  * @param time Sample offset of event.
+--- a/common/jack/jack.h
++++ b/common/jack/jack.h
+@@ -625,13 +625,16 @@
+  * name.  Exceeding that will cause the port registration to fail and
+  * return NULL.
+  *
++ * The @a port_name must be unique among all ports owned by this client.  
++ * If the name is not unique, the registration will fail.  
++ * 
+  * All ports have a type, which may be any non-NULL and non-zero
+  * length string, passed as an argument.  Some port types are built
+  * into the JACK API, currently only JACK_DEFAULT_AUDIO_TYPE.
+  *
+  * @param client pointer to JACK client structure.
+  * @param port_name non-empty short name for the new port (not
+- * including the leading @a "client_name:").
++ * including the leading @a "client_name:"). Must be unique. 
+  * @param port_type port type name.  If longer than
+  * jack_port_type_size(), only that many characters are significant.
+  * @param flags @ref JackPortFlags bit mask.
+--- a/common/JackLibAPI.cpp
++++ b/common/JackLibAPI.cpp
+@@ -57,7 +57,7 @@
  
-     /* variable argument structure */
-     typedef struct {
--        char *server_name;		/* server name */
--        char *load_name;		/* load module name */
--        char *load_init;		/* initialization string */
-+        char *server_name;              /* server name */
-+        char *load_name;                /* load module name */
-+        char *load_init;                /* initialization string */
-+        int   session_id;               /* requested session_id */
+ jack_client_t* jack_client_new_aux(const char* client_name, jack_options_t options, jack_status_t* status)
+ {
+-    jack_varargs_t va;		/* variable arguments */
++    jack_varargs_t va;          /* variable arguments */
+     jack_status_t my_status;
+     JackClient* client;
+  
+@@ -68,8 +68,8 @@
+ 
+     jack_log("jack_client_new %s", client_name);
+    
+-    if (status == NULL)			/* no status from caller? */
+-        status = &my_status;	/* use local status word */
++    if (status == NULL)         /* no status from caller? */
++        status = &my_status;    /* use local status word */
+     *status = (jack_status_t)0;
+ 
+     /* validate parameters */
+@@ -96,7 +96,7 @@
+         client = new JackLibClient(GetSynchroTable());
      }
-     jack_varargs_t;
  
-     static const char* jack_default_server_name (void) 
--	{
-+        {
-         const char *server_name;
-         if ((server_name = getenv("JACK_DEFAULT_SERVER")) == NULL)
-             server_name = "default";
-@@ -47,13 +48,14 @@
+-    int res = client->Open(va.server_name, client_name, options, status);
++    int res = client->Open(va.server_name, client_name, va.session_id, options, status);
+     if (res < 0) {
+         delete client;
+         JackLibGlobals::Destroy(); // jack library destruction
+@@ -149,7 +149,7 @@
+         client = new JackLibClient(GetSynchroTable());
      }
  
-     static inline void jack_varargs_init (jack_varargs_t *va) 
--	{
+-    int res = client->Open(va.server_name, client_name, options, status);
++    int res = client->Open(va.server_name, client_name, va.session_id, options, status);
+     if (res < 0) {
+         delete client;
+         JackLibGlobals::Destroy(); // jack library destruction
+--- a/windows/Setup/jack.ci
++++ b/windows/Setup/jack.ci
+@@ -1,9 +1,9 @@
+ <*project
+       version = 4 civer = "Free v4.14.5" winver = "2.6/5.1.2600" > 
+    <output> .</>
+-   <exename> Jack_v1.9.6_setup.exe</>
++   <exename> Jack_v1.9.7_setup.exe</>
+    <digitsign> </>
+-   <appname> Jack v1.9.6</>
++   <appname> Jack v1.9.7</>
+    <password> </>
+    <addlang> </>
+    <icon> Default - 2</>
+--- a/windows/JackWinThread.h
++++ b/windows/JackWinThread.h
+@@ -1,20 +1,20 @@
+ /*
+  Copyright (C) 2004-2008 Grame
+- 
++
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+- 
++
+  This program 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 Lesser General Public License for more details.
+- 
++
+  You should have received a copy of the GNU Lesser General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- 
++
+  */
+ 
+ 
+@@ -59,24 +59,25 @@
+ 
+         int AcquireRealTime();                  // Used when called from another thread
+         int AcquireSelfRealTime();              // Used when called from thread itself
+-        
++
+         int AcquireRealTime(int priority);      // Used when called from another thread
+         int AcquireSelfRealTime(int priority);  // Used when called from thread itself
+-        
++
+         int DropRealTime();                     // Used when called from another thread
+         int DropSelfRealTime();                 // Used when called from thread itself
+-   
++
+         pthread_t GetThreadID();
++        bool IsThread();
+ 
+         static int AcquireRealTimeImp(pthread_t thread, int priority);
+         static int AcquireRealTimeImp(pthread_t thread, int priority, UInt64 period, UInt64 computation, UInt64 constraint)
+-        { 
+-            return JackWinThread::AcquireRealTimeImp(thread, priority); 
 +        {
-         memset (va, 0, sizeof(jack_varargs_t));
-         va->server_name = (char*)jack_default_server_name();
-+        va->session_id = -1;
++            return JackWinThread::AcquireRealTimeImp(thread, priority);
+         }
+         static int DropRealTimeImp(pthread_t thread);
+         static int StartImp(pthread_t* thread, int priority, int realtime, void*(*start_routine)(void*), void* arg)
+-        { 
+-            return JackWinThread::StartImp(thread, priority, realtime, (ThreadCallback) start_routine, arg); 
++        {
++            return JackWinThread::StartImp(thread, priority, realtime, (ThreadCallback) start_routine, arg);
+         }
+         static int StartImp(pthread_t* thread, int priority, int realtime, ThreadCallback start_routine, void* arg);
+         static int StopImp(pthread_t thread);
+--- a/windows/JackWinNamedPipeClientChannel.h
++++ b/windows/JackWinNamedPipeClientChannel.h
+@@ -1,20 +1,20 @@
+ /*
+  Copyright (C) 2004-2008 Grame
+- 
++
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+- 
++
+  This program 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 Lesser General Public License for more details.
+- 
++
+  You should have received a copy of the GNU Lesser General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- 
++
+  */
+ 
+ 
+@@ -51,7 +51,7 @@
+         JackWinNamedPipeClientChannel();
+         virtual ~JackWinNamedPipeClientChannel();
+ 
+-        int Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
++        int Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
+         void Close();
+ 
+         int Start();
+@@ -59,8 +59,8 @@
+ 
+         int ServerCheck(const char* server_name);
+ 
+-        void ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result);
+-        void ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
++        void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result);
++        void ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
+         void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
+         {}
+         void ClientClose(int refnum, int* result);
+@@ -76,7 +76,7 @@
+ 
+         void PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result);
+         void PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result);
+-        
++
+         void PortRename(int refnum, jack_port_id_t port, const char* name, int* result);
+ 
+         void SetBufferSize(jack_nframes_t buffer_size, int* result);
+@@ -87,9 +87,11 @@
+ 
+         void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result);
+         void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result);
+-        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result);
++        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result);
+         void InternalClientUnload(int refnum, int int_ref, int* status, int* result);
+ 
++        void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result);
++
+         // JackRunnableInterface interface
+         bool Init();
+         bool Execute();
+--- a/windows/JackWinNamedPipeServerChannel.h
++++ b/windows/JackWinNamedPipeServerChannel.h
+@@ -1,20 +1,20 @@
+ /*
+  Copyright (C) 2004-2008 Grame
+- 
++
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+- 
++
+  This program 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 Lesser General Public License for more details.
+- 
++
+  You should have received a copy of the GNU Lesser General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- 
++
+  */
+ 
+ 
+@@ -40,7 +40,7 @@
+         JackThread fThread;
+         int fRefNum;
+ 
+-        void ClientAdd(char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
++        void ClientAdd(char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
+         void ClientRemove();
+         void ClientKill();
+ 
+@@ -53,7 +53,7 @@
+ 
+         int Open(JackServer* server);   // Open the Server/Client connection
+         void Close();                   // Close the Server/Client connection
+-   
++
+         bool HandleRequest();
+ 
+         // JackRunnableInterface interface
+@@ -91,7 +91,7 @@
+ 
+         int Open(const char* server_name, JackServer* server);  // Open the Server/Client connection
+         void Close();                                           // Close the Server/Client connection
+-    
++
+         int Start();
+ 
+         // JackRunnableInterface interface
+--- a/windows/JackWinNamedPipeClientChannel.cpp
++++ b/windows/JackWinNamedPipeClientChannel.cpp
+@@ -48,7 +48,7 @@
      }
+ }
  
-     static inline void jack_varargs_parse (jack_options_t options, va_list ap, jack_varargs_t *va) 
--	{
-+        {
-         // initialize default settings
-         jack_varargs_init (va);
+-int JackWinNamedPipeClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
++int JackWinNamedPipeClientChannel::Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
+ {
+     int result = 0;
+     jack_log("JackWinNamedPipeClientChannel::Open name = %s", name);
+@@ -67,7 +67,7 @@
+     }
  
-@@ -66,6 +68,11 @@
-             va->load_name = va_arg(ap, char *);
-         if ((options & JackLoadInit))
-             va->load_init = va_arg(ap, char *);
-+        if ((options & JackSessionID)) {
-+            char *sid = va_arg(ap, char *);
-+            if (sid)
-+                va->session_id = atoi( sid );
-+        }
+     // Check name in server
+-    ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
++    ClientCheck(name, uuid, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
+     if (result < 0) {
+         jack_error("Client name = %s conflits with another running client", name);
+         goto error;
+@@ -142,18 +142,18 @@
      }
+ }
  
- #ifdef __cplusplus
---- a/common/wscript
-+++ b/common/wscript
-@@ -97,7 +97,7 @@
-             '../posix/JackPosixThread.cpp',
-             '../macosx/JackMachThread.cpp',
-             '../macosx/JackMachSemaphore.cpp',
--            '../macosx/JackMachPort.cpp',
-+            '../posix/JackSocket.cpp',
-             '../macosx/JackMachTime.c',
-             ]
-         includes = ['../macosx', '../macosx/RPC', '../posix'] + includes
-@@ -152,11 +152,9 @@
+-void JackWinNamedPipeClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
++void JackWinNamedPipeClientChannel::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
+ {
+-    JackClientCheckRequest req(name, protocol, options);
++    JackClientCheckRequest req(name, protocol, options, uuid);
+     JackClientCheckResult res;
+     ServerSyncCall(&req, &res, result);
+     *status = res.fStatus;
+     strcpy(name_res, res.fName);
+ }
  
-     if bld.env['IS_MACOSX']:
-         serverlib.source += [
--            '../macosx/JackMachServerChannel.cpp',
--            '../macosx/JackMachNotifyChannel.cpp',
--            '../macosx/JackMachServerNotifyChannel.cpp',
--            '../macosx/JackMacEngineRPC.cpp',
--            '../macosx/RPC/JackRPCClientUser.c',
-+            '../posix/JackSocketServerChannel.cpp',
-+            '../posix/JackSocketNotifyChannel.cpp',
-+            '../posix/JackSocketServerNotifyChannel.cpp',
-             '../posix/JackNetUnixSocket.cpp',
-             ]
+-void JackWinNamedPipeClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
++void JackWinNamedPipeClientChannel::ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
+ {
+-    JackClientOpenRequest req(name, pid);
++    JackClientOpenRequest req(name, pid, uuid);
+     JackClientOpenResult res;
+     ServerSyncCall(&req, &res, result);
+     *shared_engine = res.fSharedEngine;
+@@ -246,6 +246,16 @@
+     ServerSyncCall(&req, &res, result);
+ }
  
-@@ -205,9 +203,7 @@
++void JackWinNamedPipeClientChannel::SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result)
++{
++    JackSessionNotifyRequest req(refnum, target, type, path);
++    JackResult res;
++    int intresult;
++    ServerSyncCall(&req, &res, &intresult);
++
++    *result = NULL;
++}
++
+ void JackWinNamedPipeClientChannel::ReleaseTimebase(int refnum, int* result)
+ {
+     JackReleaseTimebaseRequest req(refnum);
+@@ -277,9 +287,9 @@
+     *status = res.fStatus;
+ }
  
-     if bld.env['IS_MACOSX']:
-         clientlib.source += [
--            '../macosx/JackMachClientChannel.cpp',
--            '../macosx/RPC/JackRPCEngineUser.c',
--            '../macosx/JackMacLibClientRPC.cpp',
-+            '../posix/JackSocketClientChannel.cpp',
-             '../posix/JackPosixServerLaunch.cpp',
-             ]
+-void JackWinNamedPipeClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
++void JackWinNamedPipeClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
+ {
+-    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options);
++    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options, uuid);
+     JackInternalClientLoadResult res;
+     ServerSyncCall(&req, &res, result);
+     *int_ref = res.fIntRefNum;
+--- a/windows/JackWinThread.cpp
++++ b/windows/JackWinThread.cpp
+@@ -235,6 +235,11 @@
+     return fThread;
+ }
  
---- a/dbus/controller_iface_patchbay.c
-+++ b/dbus/controller_iface_patchbay.c
-@@ -323,7 +323,7 @@
-     list_for_each(node_ptr, &patchbay_ptr->graph.clients)
-     {
-         client_ptr = list_entry(node_ptr, struct jack_graph_client, siblings);
--        if (strncmp(client_ptr->name, client_name, client_name_len) == 0)
-+        if (strlen(client_ptr->name) == client_name_len && strncmp(client_ptr->name, client_name, client_name_len) == 0)
-         {
-             return client_ptr;
-         }
---- a/doxyfile
-+++ b/doxyfile
-@@ -23,7 +23,7 @@
- # This could be handy for archiving the generated documentation or 
- # if some version control system is used.
++bool JackWinThread::IsThread()
++{
++    return GetCurrentThread() == fThread;
++}
++
+ void JackWinThread::Terminate()
+ {
+     jack_log("JackWinThread::Terminate");
+--- a/windows/JackWinNamedPipeServerChannel.cpp
++++ b/windows/JackWinNamedPipeServerChannel.cpp
+@@ -53,7 +53,7 @@
+     delete fPipe;
+ }
  
--PROJECT_NUMBER         = 1.9.6
-+PROJECT_NUMBER         = 1.9.7
+-int JackClientPipeThread::Open(JackServer* server)	// Open the Server/Client connection
++int JackClientPipeThread::Open(JackServer* server)      // Open the Server/Client connection
+ {
+     // Start listening
+     if (fThread.Start() != 0) {
+@@ -65,13 +65,13 @@
+     return 0;
+ }
+ 
+-void JackClientPipeThread::Close()					// Close the Server/Client connection
++void JackClientPipeThread::Close()                                      // Close the Server/Client connection
+ {
+     jack_log("JackClientPipeThread::Close %x %ld", this, fRefNum);
+     /*
+-    	TODO : solve WIN32 thread Kill issue
+-    	This would hang.. since Close will be followed by a delete,
+-    	all ressources will be desallocated at the end.
++        TODO : solve WIN32 thread Kill issue
++        This would hang.. since Close will be followed by a delete,
++        all ressources will be desallocated at the end.
+     */
+ 
+     fThread.Kill();
+@@ -115,7 +115,7 @@
+                 JackClientCheckRequest req;
+                 JackClientCheckResult res;
+                 if (req.Read(fPipe) == 0)
+-                    res.fResult = fServer->GetEngine()->ClientCheck(req.fName, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
++                    res.fResult = fServer->GetEngine()->ClientCheck(req.fName, req.fUUID, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
+                 res.Write(fPipe);
+                 break;
+             }
+@@ -125,7 +125,7 @@
+                 JackClientOpenRequest req;
+                 JackClientOpenResult res;
+                 if (req.Read(fPipe) == 0)
+-                    ClientAdd(req.fName, req.fPID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
++                    ClientAdd(req.fName, req.fPID, req.fUUID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
+                 res.Write(fPipe);
+                 break;
+             }
+@@ -297,7 +297,7 @@
+                 JackInternalClientLoadRequest req;
+                 JackInternalClientLoadResult res;
+                 if (req.Read(fPipe) == 0)
+-                    res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, &res.fStatus);
++                    res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, req.fUUID, &res.fStatus);
+                 res.Write(fPipe);
+                 break;
+             }
+@@ -326,6 +326,63 @@
+                 break;
+             }
+ 
++            case JackRequest::kSessionNotify: {
++                jack_log("JackRequest::SessionNotify");
++                JackSessionNotifyRequest req;
++                JackSessionNotifyResult res;
++                if (req.Read(fPipe) == 0) {
++                    fServer->GetEngine()->SessionNotify(req.fRefNum, req.fDst, req.fEventType, req.fPath, fPipe);
++                }
++                res.Write(fPipe);
++                break;
++            }
++
++            case JackRequest::kSessionReply: {
++                jack_log("JackRequest::SessionReply");
++                JackSessionReplyRequest req;
++                JackResult res;
++                if (req.Read(fPipe) == 0) {
++                    fServer->GetEngine()->SessionReply(req.fRefNum);
++                    res.fResult = 0;
++                }
++                break;
++            }
++
++            case JackRequest::kGetClientByUUID: {
++                jack_log("JackRequest::GetClientNameForUUID");
++                JackGetClientNameRequest req;
++                JackClientNameResult res;
++                if (req.Read(fPipe) == 0) {
++                    fServer->GetEngine()->GetClientNameForUUID(req.fUUID, res.fName, &res.fResult);
++                }
++                res.Write(fPipe);
++                break;
++            }
++
++            case JackRequest::kGetUUIDByClient: {
++                jack_log("JackRequest::GetUUIDForClientName");
++                JackGetUUIDRequest req;
++                JackUUIDResult res;
++                if (req.Read(fPipe) == 0) {
++                    fServer->GetEngine()->GetUUIDForClientName(req.fName, res.fUUID, &res.fResult);
++                    res.fResult = 0;
++                }
++                res.Write(fPipe);
++                break;
++            }
++
++            case JackRequest::kReserveClientName: {
++                jack_log("JackRequest::ReserveClientName");
++                JackReserveNameRequest req;
++                JackResult res;
++                if (req.Read(fPipe) == 0) {
++                    fServer->GetEngine()->ReserveClientName(req.fName, req.fUUID, &res.fResult);
++                    res.fResult = 0;
++                }
++                res.Write(fPipe);
++                break;
++            }
++
+             default:
+                 jack_log("Unknown request %ld", header.fType);
+                 break;
+@@ -337,11 +394,11 @@
+     return ret;
+ }
+ 
+-void JackClientPipeThread::ClientAdd(char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
++void JackClientPipeThread::ClientAdd(char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
+ {
+     jack_log("JackClientPipeThread::ClientAdd %s", name);
+     fRefNum = -1;
+-    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, &fRefNum, shared_engine, shared_client, shared_graph);
++    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, uuid, &fRefNum, shared_engine, shared_client, shared_graph);
+ }
+ 
+ void JackClientPipeThread::ClientRemove()
+@@ -358,7 +415,7 @@
+ {
+     jack_log("JackClientPipeThread::ClientKill ref = %d", fRefNum);
+ 
+-    if (fRefNum == -1) {		// Correspond to an already removed client.
++    if (fRefNum == -1) {                // Correspond to an already removed client.
+         jack_log("Kill a closed client");
+     } else if (fRefNum == 0) {  // Correspond to a still not opened client.
+         jack_log("Kill a not opened client");
+@@ -401,10 +458,10 @@
+ void JackWinNamedPipeServerChannel::Close()
+ {
+     /* TODO : solve WIN32 thread Kill issue
+-    	This would hang the server... since we are quitting it, its not really problematic,
+-    	all ressources will be desallocated at the end.
++        This would hang the server... since we are quitting it, its not really problematic,
++        all ressources will be desallocated at the end.
+ 
+-    	fRequestListenPipe.Close();
++        fRequestListenPipe.Close();
+         fThread.Stop();
+     */
  
- # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
- # base path where the generated documentation will be put. 
 --- a/example-clients/lsp.c
 +++ b/example-clients/lsp.c
 @@ -146,7 +146,7 @@
@@ -4184,1527 +4844,398 @@ Forwarded: not-needed
      'jack_server_control' : 'server_control.cpp',
      }
  
---- a/linux/alsa/JackAlsaDriver.cpp
-+++ b/linux/alsa/JackAlsaDriver.cpp
-@@ -120,7 +120,7 @@
-         char tmp[5];
-         strncpy(tmp, strstr(device_name, "hw"), 4);
-         tmp[4] = '\0';
--        //jack_log("control device %s", tmp);
-+        jack_info("control device %s",tmp);
-         ctl_name = strdup(tmp);
-     } else {
-         ctl_name = strdup(device_name);
-@@ -151,21 +151,16 @@
-     if ((err = snd_ctl_open (&driver->ctl_handle, ctl_name, 0)) < 0) {
-         jack_error ("control open \"%s\" (%s)", ctl_name,
-                     snd_strerror(err));
--        return -1;
--    }
--
--    if ((err = snd_ctl_card_info(driver->ctl_handle, card_info)) < 0) {
-+    } else if ((err = snd_ctl_card_info(driver->ctl_handle, card_info)) < 0) {
-         jack_error ("control hardware info \"%s\" (%s)",
-                     driver->alsa_name_playback, snd_strerror (err));
-         snd_ctl_close (driver->ctl_handle);
--        return -1;
-     }
- 
-     driver->alsa_driver = strdup(snd_ctl_card_info_get_driver (card_info));
-     jack_info("Using ALSA driver %s running on card %i - %s", driver->alsa_driver, snd_ctl_card_info_get_card(card_info), snd_ctl_card_info_get_longname(card_info));
- 
-     free(ctl_name);
--
-     return alsa_driver_check_capabilities (driver);
- }
- 
-@@ -1171,7 +1166,6 @@
- 
-     if (res && driver->midi)
- 	(driver->midi->stop)(driver->midi);
--
-     return res;
- }
- 
-@@ -1181,8 +1175,6 @@
-     snd_pcm_status_t *status;
-     int res;
- 
--    jack_error("alsa_driver_xrun_recovery");
--
-     snd_pcm_status_alloca(&status);
- 
-     if (driver->capture_handle) {
-@@ -1196,6 +1188,19 @@
-             jack_error("status error: %s", snd_strerror(res));
-         }
-     }
-+    
-+    if (snd_pcm_status_get_state(status) == SND_PCM_STATE_SUSPENDED) { 
-+        jack_error("**** alsa_pcm: pcm in suspended state, resuming it" ); 
-+        if (driver->capture_handle) { 
-+            if ((res = snd_pcm_prepare(driver->capture_handle)) < 0) { 
-+                    jack_error("error preparing after suspend: %s", snd_strerror(res)); 
-+            } 
-+        } else { 
-+            if ((res = snd_pcm_prepare(driver->playback_handle)) < 0) { 
-+                    jack_error("error preparing after suspend: %s", snd_strerror(res)); 
-+            } 
-+        } 
-+    } 
- 
-     if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN
-             && driver->process_count > XRUN_REPORT_DELAY) {
-@@ -1205,7 +1210,7 @@
-         snd_pcm_status_get_trigger_tstamp(status, &tstamp);
-         timersub(&now, &tstamp, &diff);
-         *delayed_usecs = diff.tv_sec * 1000000.0 + diff.tv_usec;
--        jack_error("\n\n**** alsa_pcm: xrun of at least %.3f msecs\n\n", *delayed_usecs / 1000.0);
-+        jack_error("**** alsa_pcm: xrun of at least %.3f msecs", *delayed_usecs / 1000.0);
-     }
- 
-     if (alsa_driver_restart (driver)) {
-@@ -1371,7 +1376,7 @@
- 			/* if POLLIN was the only bit set, we're OK */
- 
- 			*status = 0;
--            if (driver->pfd[nfds-1].revents == POLLIN) {
-+            if (driver->pfd[nfds-1].revents != POLLIN) {
-                 jack_error("driver->pfd[nfds-1].revents == POLLIN");
-             }
- 			return (driver->pfd[nfds-1].revents == POLLIN) ? 0 : -1;
-@@ -1585,7 +1590,6 @@
-          
-             jack_error ("ALSA: could not complete read of %"
-             		PRIu32 " frames: error = %d\n", contiguous, err);
--            jack_error ("ALSA: could not complete read of %d frames: error = %d", contiguous, err);
-             return -1;
-         }
- 
-@@ -1725,7 +1729,6 @@
-                                         offset, contiguous)) < 0) {
-             jack_error ("ALSA: could not complete playback of %"
-             		PRIu32 " frames: error = %d", contiguous, err);
--            jack_error ("ALSA: could not complete playback of %d frames: error = %d", contiguous, err);
-             if (err != EPIPE && err != ESTRPIPE)
-                 return -1;
-         }
-@@ -1751,11 +1754,6 @@
-     jack_slist_free (driver->clock_sync_listeners);
-     
-     if (driver->ctl_handle) {
--		snd_ctl_close (driver->ctl_handle);
--		driver->ctl_handle = 0;
--	} 
--
--    if (driver->ctl_handle) {
-         snd_ctl_close (driver->ctl_handle);
-         driver->ctl_handle = 0;
-     } 
-@@ -2328,6 +2326,8 @@
-     jack_nframes_t nframes;
-     fDelayedUsecs = 0.f;
- 
-+retry:
+--- /dev/null
++++ b/example-clients/session_notify.c
+@@ -0,0 +1,184 @@
++/*
++ *  session_notify.c -- ultra minimal session manager
++ *
++ *  Copyright (C) 2010 Torben Hohn.
++ *  
++ *  This program 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 of the License, or
++ *  (at your option) any later version.
++ *
++ *  This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
 +
-     nframes = alsa_driver_wait((alsa_driver_t *)fDriver, -1, &wait_status, &fDelayedUsecs);
-  
-     if (wait_status < 0)
-@@ -2339,11 +2339,11 @@
-          */
-         jack_log("ALSA XRun wait_status = %d", wait_status);
-         NotifyXRun(fBeginDateUst, fDelayedUsecs);
--        return -1;
-+        goto retry; /* recoverable error*/
-     }
- 
-     if (nframes != fEngineControl->fBufferSize)
--        jack_log("JackAlsaDriver::Read error nframes = %ld", nframes);
-+        jack_log("JackAlsaDriver::Read warning nframes = %ld", nframes);
-         
-     // Has to be done before read
-     JackDriver::CycleIncTime();
-@@ -2631,352 +2631,352 @@
-     return constraint_ptr;
- }
- 
--    static int
--    dither_opt (char c, DitherAlgorithm* dither) 
--    {
--        switch (c) {
--            case '-':
--            case 'n':
--                *dither = None;
--                break;
--
--            case 'r':
--                *dither = Rectangular;
--                break;
--
--            case 's':
--                *dither = Shaped;
--                break;
--
--            case 't':
--                *dither = Triangular;
--                break;
--
--            default:
--                fprintf (stderr, "ALSA driver: illegal dithering mode %c\n", c);
--                return -1;
--        }
--        return 0;
--    }
--
--    SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor () 
--    {
--        jack_driver_desc_t * desc;
--        jack_driver_param_desc_t * params;
--        unsigned int i;
--
--        desc = (jack_driver_desc_t*)calloc (1, sizeof (jack_driver_desc_t));
--        
--        strcpy(desc->name, "alsa");                                    // size MUST be less then JACK_DRIVER_NAME_MAX + 1
--        strcpy(desc->desc, "Linux ALSA API based audio backend");      // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
--        
--        desc->nparams = 18;
--        params = (jack_driver_param_desc_t*)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
--
--        i = 0;
--        strcpy (params[i].name, "capture");
--        params[i].character = 'C';
--        params[i].type = JackDriverParamString;
--        strcpy (params[i].value.str, "none");
--        strcpy (params[i].short_desc,
--                "Provide capture ports.  Optionally set device");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "playback");
--        params[i].character = 'P';
--        params[i].type = JackDriverParamString;
--        strcpy (params[i].value.str, "none");
--        strcpy (params[i].short_desc,
--                "Provide playback ports.  Optionally set device");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "device");
--        params[i].character = 'd';
--        params[i].type = JackDriverParamString;
--        strcpy (params[i].value.str, "hw:0");
--        strcpy (params[i].short_desc, "ALSA device name");
--        strcpy (params[i].long_desc, params[i].short_desc);
--        params[i].constraint = enum_alsa_devices();
--
--        i++;
--        strcpy (params[i].name, "rate");
--        params[i].character = 'r';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.ui = 48000U;
--        strcpy (params[i].short_desc, "Sample rate");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "period");
--        params[i].character = 'p';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.ui = 1024U;
--        strcpy (params[i].short_desc, "Frames per period");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "nperiods");
--        params[i].character = 'n';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.ui = 2U;
--        strcpy (params[i].short_desc, "Number of periods of playback latency");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "hwmon");
--        params[i].character = 'H';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Hardware monitoring, if available");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "hwmeter");
--        params[i].character = 'M';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Hardware metering, if available");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "duplex");
--        params[i].character = 'D';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = 1;
--        strcpy (params[i].short_desc,
--                "Provide both capture and playback ports");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "softmode");
--        params[i].character = 's';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Soft-mode, no xrun handling");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "monitor");
--        params[i].character = 'm';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Provide monitor ports for the output");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "dither");
--        params[i].character = 'z';
--        params[i].type = JackDriverParamChar;
--        params[i].value.c = 'n';
--        strcpy (params[i].short_desc, "Dithering mode");
--        strcpy (params[i].long_desc,
--                "Dithering mode:\n"
--                "  n - none\n"
--                "  r - rectangular\n"
--                "  s - shaped\n"
--                "  t - triangular");
--        params[i].constraint = get_dither_constraint();
--
--        i++;
--        strcpy (params[i].name, "inchannels");
--        params[i].character = 'i';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc,
--                "Number of capture channels (defaults to hardware max)");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "outchannels");
--        params[i].character = 'o';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc,
--                "Number of playback channels (defaults to hardware max)");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "shorts");
--        params[i].character = 'S';
--        params[i].type = JackDriverParamBool;
--        params[i].value.i = FALSE;
--        strcpy (params[i].short_desc, "Try 16-bit samples before 32-bit");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "input-latency");
--        params[i].character = 'I';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Extra input latency (frames)");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "output-latency");
--        params[i].character = 'O';
--        params[i].type = JackDriverParamUInt;
--        params[i].value.i = 0;
--        strcpy (params[i].short_desc, "Extra output latency (frames)");
--        strcpy (params[i].long_desc, params[i].short_desc);
--
--        i++;
--        strcpy (params[i].name, "midi-driver");
--        params[i].character = 'X';
--        params[i].type = JackDriverParamString;
--        strcpy (params[i].value.str, "none");
--        strcpy (params[i].short_desc, "ALSA MIDI driver name (seq|raw)");
--        strcpy (params[i].long_desc,
--                "ALSA MIDI driver:\n"
--                " none - no MIDI driver\n"
--                " seq - ALSA Sequencer driver\n"
--                " raw - ALSA RawMIDI driver\n");
--        params[i].constraint = get_midi_driver_constraint();
-+static int
-+dither_opt (char c, DitherAlgorithm* dither) 
++#include <stdio.h>
++#include <errno.h>
++#include <unistd.h>
++#include <signal.h>
++#include <stdlib.h>
++#include <string.h>
++#include <jack/jack.h>
++#include <jack/types.h>
++#include <jack/jslist.h>
++#include <jack/transport.h>
++#include <jack/session.h>
++
++char *package;                          /* program name */
++jack_client_t *client;
++
++jack_session_event_type_t notify_type;
++char *save_path = NULL;
++
++void jack_shutdown(void *arg)
 +{
-+    switch (c) {
-+        case '-':
-+        case 'n':
-+            *dither = None;
-+            break;
++        fprintf(stderr, "JACK shut down, exiting ...\n");
++        exit(1);
++}
 +
-+        case 'r':
-+            *dither = Rectangular;
-+            break;
++void signal_handler(int sig)
++{
++        jack_client_close(client);
++        fprintf(stderr, "signal received, exiting ...\n");
++        exit(0);
++}
 +
-+        case 's':
-+            *dither = Shaped;
-+            break;
++void parse_arguments(int argc, char *argv[])
++{
 +
-+        case 't':
-+            *dither = Triangular;
-+            break;
- 
--        desc->params = params;
--        return desc;
-+        default:
-+            fprintf (stderr, "ALSA driver: illegal dithering mode %c\n", c);
-+            return -1;
-     }
-+    return 0;
++        /* basename $0 */
++        package = strrchr(argv[0], '/');
++        if (package == 0)
++                package = argv[0];
++        else
++                package++;
++
++        if (argc==2) {
++                if( !strcmp( argv[1], "quit" ) ) {
++                        notify_type = JackSessionSaveAndQuit;
++                        return;
++                }
++        }
++        if (argc==3) {
++                if( !strcmp( argv[1], "save" ) ) {
++                        notify_type = JackSessionSave;
++                        save_path = argv[2];
++                        return;
++                }
++
++        }
++        fprintf(stderr, "usage: %s quit|save [path]\n", package);
++        exit(9);
 +}
- 
--    SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) 
--    {
--        jack_nframes_t srate = 48000;
--        jack_nframes_t frames_per_interrupt = 1024;
--        unsigned long user_nperiods = 2;
--        const char *playback_pcm_name = "hw:0";
--        const char *capture_pcm_name = "hw:0";
--        int hw_monitoring = FALSE;
--        int hw_metering = FALSE;
--        int capture = FALSE;
--        int playback = FALSE;
--        int soft_mode = FALSE;
--        int monitor = FALSE;
--        DitherAlgorithm dither = None;
--        int user_capture_nchnls = 0;
--        int user_playback_nchnls = 0;
--        int shorts_first = FALSE;
--        jack_nframes_t systemic_input_latency = 0;
--        jack_nframes_t systemic_output_latency = 0;
--        const JSList * node;
--        const jack_driver_param_t * param;
--        const char *midi_driver = "none";
--
--        for (node = params; node; node = jack_slist_next (node)) {
--            param = (const jack_driver_param_t *) node->data;
--
--            switch (param->character) {
--
--                case 'C':
--                    capture = TRUE;
--                    if (strcmp (param->value.str, "none") != 0) {
--                        capture_pcm_name = strdup (param->value.str);
--                        jack_log("capture device %s", capture_pcm_name);
--                    }
--                    break;
-+SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor () 
++
++typedef struct {
++        char name[32];
++        char uuid[16];
++} uuid_map_t;
++
++JSList *uuid_map = NULL;
++
++void add_uuid_mapping( const char *uuid ) {
++        char *clientname = jack_get_client_name_by_uuid( client, uuid );
++        if( !clientname ) {
++                printf( "error... cant find client for uuid %s", uuid );
++
++                return;
++        }
++
++        uuid_map_t *mapping = malloc( sizeof(uuid_map_t) );
++        snprintf( mapping->uuid, sizeof(mapping->uuid), "%s", uuid );
++        snprintf( mapping->name, sizeof(mapping->name), "%s", clientname );
++        uuid_map = jack_slist_append( uuid_map, mapping );
++}
++
++char *map_port_name_to_uuid_port( const char *port_name )
 +{
-+    jack_driver_desc_t * desc;
-+    jack_driver_param_desc_t * params;
-+    unsigned int i;
- 
--                case 'P':
--                    playback = TRUE;
--                    if (strcmp (param->value.str, "none") != 0) {
--                        playback_pcm_name = strdup (param->value.str);
--                        jack_log("playback device %s", playback_pcm_name);
--                    }
--                    break;
-+    desc = (jack_driver_desc_t*)calloc (1, sizeof (jack_driver_desc_t));
-+    
-+    strcpy(desc->name, "alsa");                                    // size MUST be less then JACK_DRIVER_NAME_MAX + 1
-+    strcpy(desc->desc, "Linux ALSA API based audio backend");      // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
-+    
-+    desc->nparams = 18;
-+    params = (jack_driver_param_desc_t*)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
- 
--                case 'D':
--                    playback = TRUE;
--                    capture = TRUE;
--                    break;
-+    i = 0;
-+    strcpy (params[i].name, "capture");
-+    params[i].character = 'C';
-+    params[i].type = JackDriverParamString;
-+    strcpy (params[i].value.str, "none");
-+    strcpy (params[i].short_desc,
-+            "Provide capture ports.  Optionally set device");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        JSList *node;
++        char retval[300];
++        char *port_component = strchr( port_name,':' );
++        char *client_component = strdup( port_name );
++        strchr( client_component, ':' )[0] = '\0';
 +
-+    i++;
-+    strcpy (params[i].name, "playback");
-+    params[i].character = 'P';
-+    params[i].type = JackDriverParamString;
-+    strcpy (params[i].value.str, "none");
-+    strcpy (params[i].short_desc,
-+            "Provide playback ports.  Optionally set device");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        sprintf( retval, "%s", port_name );
 +
-+    i++;
-+    strcpy (params[i].name, "device");
-+    params[i].character = 'd';
-+    params[i].type = JackDriverParamString;
-+    strcpy (params[i].value.str, "hw:0");
-+    strcpy (params[i].short_desc, "ALSA device name");
-+    strcpy (params[i].long_desc, params[i].short_desc);
-+    params[i].constraint = enum_alsa_devices();
++        for( node=uuid_map; node; node=jack_slist_next(node) ) {
++                uuid_map_t *mapping = node->data;
++                if( !strcmp( mapping->name, client_component ) ) {
++                        sprintf( retval, "%s%s", mapping->uuid, port_component );
++                        break;
++                }
++        }
 +
-+    i++;
-+    strcpy (params[i].name, "rate");
-+    params[i].character = 'r';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.ui = 48000U;
-+    strcpy (params[i].short_desc, "Sample rate");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        return strdup(retval);
++}
 +
-+    i++;
-+    strcpy (params[i].name, "period");
-+    params[i].character = 'p';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.ui = 1024U;
-+    strcpy (params[i].short_desc, "Frames per period");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++int main(int argc, char *argv[])
++{
++        parse_arguments(argc, argv);
++        jack_session_command_t *retval;
++        int k,i,j;
 +
-+    i++;
-+    strcpy (params[i].name, "nperiods");
-+    params[i].character = 'n';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.ui = 2U;
-+    strcpy (params[i].short_desc, "Number of periods of playback latency");
-+    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+    i++;
-+    strcpy (params[i].name, "hwmon");
-+    params[i].character = 'H';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Hardware monitoring, if available");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        /* become a JACK client */
++        if ((client = jack_client_open(package, JackNullOption, NULL)) == 0) {
++                fprintf(stderr, "JACK server not running?\n");
++                exit(1);
++        }
 +
-+    i++;
-+    strcpy (params[i].name, "hwmeter");
-+    params[i].character = 'M';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Hardware metering, if available");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        signal(SIGQUIT, signal_handler);
++        signal(SIGTERM, signal_handler);
++        signal(SIGHUP, signal_handler);
++        signal(SIGINT, signal_handler);
 +
-+    i++;
-+    strcpy (params[i].name, "duplex");
-+    params[i].character = 'D';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = 1;
-+    strcpy (params[i].short_desc,
-+            "Provide both capture and playback ports");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        jack_on_shutdown(client, jack_shutdown, 0);
 +
-+    i++;
-+    strcpy (params[i].name, "softmode");
-+    params[i].character = 's';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Soft-mode, no xrun handling");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        jack_activate(client);
 +
-+    i++;
-+    strcpy (params[i].name, "monitor");
-+    params[i].character = 'm';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Provide monitor ports for the output");
-+    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+    i++;
-+    strcpy (params[i].name, "dither");
-+    params[i].character = 'z';
-+    params[i].type = JackDriverParamChar;
-+    params[i].value.c = 'n';
-+    strcpy (params[i].short_desc, "Dithering mode");
-+    strcpy (params[i].long_desc,
-+            "Dithering mode:\n"
-+            "  n - none\n"
-+            "  r - rectangular\n"
-+            "  s - shaped\n"
-+            "  t - triangular");
-+    params[i].constraint = get_dither_constraint();
++        retval = jack_session_notify( client, NULL, notify_type, save_path );
++        printf( "retval = %p\n", retval );
++        for(i=0; retval[i].uuid; i++ ) {
++                printf( "export SESSION_DIR=\"%s%s/\"\n", save_path, retval[i].client_name );
++                printf( "%s &\n", retval[i].command );
++                add_uuid_mapping(retval[i].uuid); 
++        }
 +
-+    i++;
-+    strcpy (params[i].name, "inchannels");
-+    params[i].character = 'i';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc,
-+            "Number of capture channels (defaults to hardware max)");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        printf( "sleep 10\n" );
 +
-+    i++;
-+    strcpy (params[i].name, "outchannels");
-+    params[i].character = 'o';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc,
-+            "Number of playback channels (defaults to hardware max)");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        for(k=0; retval[k].uuid; k++ ) {
 +
-+    i++;
-+    strcpy (params[i].name, "shorts");
-+    params[i].character = 'S';
-+    params[i].type = JackDriverParamBool;
-+    params[i].value.i = FALSE;
-+    strcpy (params[i].short_desc, "Try 16-bit samples before 32-bit");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++                char* port_regexp = alloca( jack_client_name_size()+3 );
++                char* client_name = jack_get_client_name_by_uuid( client, retval[k].uuid );
++                snprintf( port_regexp, jack_client_name_size()+3, "%s:.*", client_name );
++                jack_free(client_name);
++                const char **ports = jack_get_ports( client, port_regexp, NULL, 0 );
++                if( !ports ) {
++                        continue;
++                }
++                for (i = 0; ports[i]; ++i) {
++                        const char **connections;
++                        if ((connections = jack_port_get_all_connections (client, jack_port_by_name(client, ports[i]))) != 0) {
++                                for (j = 0; connections[j]; j++) {
++                                        char *src = map_port_name_to_uuid_port( ports[i] ); 
++                                        char *dst = map_port_name_to_uuid_port( connections[j] ); 
++                                        printf( "jack_connect -u \"%s\" \"%s\"\n", src, dst );
++                                }
++                                jack_free (connections);
++                        } 
++                }
++                jack_free(ports);
 +
-+    i++;
-+    strcpy (params[i].name, "input-latency");
-+    params[i].character = 'I';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Extra input latency (frames)");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        }
++        jack_session_commands_free(retval);
 +
-+    i++;
-+    strcpy (params[i].name, "output-latency");
-+    params[i].character = 'O';
-+    params[i].type = JackDriverParamUInt;
-+    params[i].value.i = 0;
-+    strcpy (params[i].short_desc, "Extra output latency (frames)");
-+    strcpy (params[i].long_desc, params[i].short_desc);
++        jack_client_close(client);
 +
-+    i++;
-+    strcpy (params[i].name, "midi-driver");
-+    params[i].character = 'X';
-+    params[i].type = JackDriverParamString;
-+    strcpy (params[i].value.str, "none");
-+    strcpy (params[i].short_desc, "ALSA MIDI driver name (seq|raw)");
-+    strcpy (params[i].long_desc,
-+            "ALSA MIDI driver:\n"
-+            " none - no MIDI driver\n"
-+            " seq - ALSA Sequencer driver\n"
-+            " raw - ALSA RawMIDI driver\n");
-+    params[i].constraint = get_midi_driver_constraint();
++        return 0;
++}
+--- /dev/null
++++ b/example-clients/simple_session_client.c
+@@ -0,0 +1,202 @@
++/** @file simple_session_client.c
++ *
++ * @brief This simple client demonstrates the most basic features of JACK
++ * as they would be used by many applications.
++ * this version also adds session manager functionality.
++ */
 +
-+    desc->params = params;
-+    return desc;
++#include <stdio.h>
++#include <errno.h>
++#include <unistd.h>
++#include <stdlib.h>
++#include <string.h>
++
++#include <jack/jack.h>
++#include <jack/types.h>
++#include <jack/session.h>
++
++jack_port_t *input_port;
++jack_port_t *output_port;
++jack_client_t *client;
++
++int simple_quit = 0;
++
++/**
++ * The process callback for this JACK application is called in a
++ * special realtime thread once for each audio cycle.
++ *
++ * This client does nothing more than copy data from its input
++ * port to its output port. It will exit when stopped by
++ * the user (e.g. using Ctrl-C on a unix-ish operating system)
++ */
++int
++process (jack_nframes_t nframes, void *arg)
++{
++        jack_default_audio_sample_t *in, *out;
++
++        in = jack_port_get_buffer (input_port, nframes);
++        out = jack_port_get_buffer (output_port, nframes);
++        memcpy (out, in,
++                sizeof (jack_default_audio_sample_t) * nframes);
++
++        return 0;
 +}
 +
-+SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) 
++void
++session_callback (jack_session_event_t *event, void *arg)
 +{
-+    jack_nframes_t srate = 48000;
-+    jack_nframes_t frames_per_interrupt = 1024;
-+    unsigned long user_nperiods = 2;
-+    const char *playback_pcm_name = "hw:0";
-+    const char *capture_pcm_name = "hw:0";
-+    int hw_monitoring = FALSE;
-+    int hw_metering = FALSE;
-+    int capture = FALSE;
-+    int playback = FALSE;
-+    int soft_mode = FALSE;
-+    int monitor = FALSE;
-+    DitherAlgorithm dither = None;
-+    int user_capture_nchnls = 0;
-+    int user_playback_nchnls = 0;
-+    int shorts_first = FALSE;
-+    jack_nframes_t systemic_input_latency = 0;
-+    jack_nframes_t systemic_output_latency = 0;
-+    const JSList * node;
-+    const jack_driver_param_t * param;
-+    const char *midi_driver = "none";
++        char retval[100];
++        printf ("session notification\n");
++        printf ("path %s, uuid %s, type: %s\n", event->session_dir, event->client_uuid, event->type == JackSessionSave ? "save" : "quit");
 +
-+    for (node = params; node; node = jack_slist_next (node)) {
-+        param = (const jack_driver_param_t *) node->data;
 +
-+        switch (param->character) {
++        snprintf (retval, 100, "jack_simple_session_client %s", event->client_uuid);
++        event->command_line = strdup (retval);
 +
-+            case 'C':
-+                capture = TRUE;
-+                if (strcmp (param->value.str, "none") != 0) {
-+                    capture_pcm_name = strdup (param->value.str);
-+                    jack_log("capture device %s", capture_pcm_name);
++        jack_session_reply( client, event );
++
++        if (event->type == JackSessionSaveAndQuit) {
++                simple_quit = 1;
++        }
++
++        jack_session_event_free (event);
++}
++
++/**
++ * JACK calls this shutdown_callback if the server ever shuts down or
++ * decides to disconnect the client.
++ */
++void
++jack_shutdown (void *arg)
++{
++        exit (1);
++}
++
++int
++main (int argc, char *argv[])
++{
++        const char **ports;
++        const char *client_name = "simple";
++        jack_status_t status;
++
++        /* open a client connection to the JACK server */
++
++        if( argc == 1 )
++                client = jack_client_open (client_name, JackNullOption, &status );
++        else if( argc == 2 )
++                client = jack_client_open (client_name, JackSessionID, &status, argv[1] );
++
++        if (client == NULL) {
++                fprintf (stderr, "jack_client_open() failed, "
++                         "status = 0x%2.0x\n", status);
++                if (status & JackServerFailed) {
++                        fprintf (stderr, "Unable to connect to JACK server\n");
 +                }
-+                break;
- 
--                case 'd':
-+            case 'P':
-+                playback = TRUE;
-+                if (strcmp (param->value.str, "none") != 0) {
-                     playback_pcm_name = strdup (param->value.str);
--                    capture_pcm_name = strdup (param->value.str);
-                     jack_log("playback device %s", playback_pcm_name);
--                    jack_log("capture device %s", capture_pcm_name);
--                    break;
++                exit (1);
++        }
++        if (status & JackServerStarted) {
++                fprintf (stderr, "JACK server started\n");
++        }
++        if (status & JackNameNotUnique) {
++                client_name = jack_get_client_name(client);
++                fprintf (stderr, "unique name `%s' assigned\n", client_name);
++        }
++
++        /* tell the JACK server to call `process()' whenever
++           there is work to be done.
++        */
++
++        jack_set_process_callback (client, process, 0);
++
++        /* tell the JACK server to call `jack_shutdown()' if
++           it ever shuts down, either entirely, or if it
++           just decides to stop calling us.
++        */
++
++        jack_on_shutdown (client, jack_shutdown, 0);
++
++        /* tell the JACK server to call `session_callback()' if
++           the session is saved.
++        */
++
++        jack_set_session_callback (client, session_callback, NULL);
++
++        /* display the current sample rate.
++         */
++
++        printf ("engine sample rate: %" PRIu32 "\n",
++                jack_get_sample_rate (client));
++
++        /* create two ports */
++
++        input_port = jack_port_register (client, "input",
++                                         JACK_DEFAULT_AUDIO_TYPE,
++                                         JackPortIsInput, 0);
++        output_port = jack_port_register (client, "output",
++                                          JACK_DEFAULT_AUDIO_TYPE,
++                                          JackPortIsOutput, 0);
++
++        if ((input_port == NULL) || (output_port == NULL)) {
++                fprintf(stderr, "no more JACK ports available\n");
++                exit (1);
++        }
++
++        /* Tell the JACK server that we are ready to roll.  Our
++         * process() callback will start running now. */
++
++        if (jack_activate (client)) {
++                fprintf (stderr, "cannot activate client");
++                exit (1);
++        }
++
++        /* Connect the ports.  You can't do this before the client is
++         * activated, because we can't make connections to clients
++         * that aren't running.  Note the confusing (but necessary)
++         * orientation of the driver backend ports: playback ports are
++         * "input" to the backend, and capture ports are "output" from
++         * it.
++         */
++
++
++        /* only do the autoconnect when not reloading from a session.
++         * in case of a session reload, the SM will restore our connections
++         */
++
++        if (argc==1) {
++
++                ports = jack_get_ports (client, NULL, NULL,
++                                JackPortIsPhysical|JackPortIsOutput);
++                if (ports == NULL) {
++                        fprintf(stderr, "no physical capture ports\n");
++                        exit (1);
 +                }
-+                break;
- 
--                case 'H':
--                    hw_monitoring = param->value.i;
--                    break;
-+            case 'D':
-+                playback = TRUE;
-+                capture = TRUE;
-+                break;
- 
--                case 'm':
--                    monitor = param->value.i;
--                    break;
-+            case 'd':
-+                playback_pcm_name = strdup (param->value.str);
-+                capture_pcm_name = strdup (param->value.str);
-+                jack_log("playback device %s", playback_pcm_name);
-+                jack_log("capture device %s", capture_pcm_name);
-+                break;
- 
--                case 'M':
--                    hw_metering = param->value.i;
--                    break;
-+            case 'H':
-+                hw_monitoring = param->value.i;
-+                break;
- 
--                case 'r':
--                    srate = param->value.ui;
--                    jack_log("apparent rate = %d", srate);
--                    break;
-+            case 'm':
-+                monitor = param->value.i;
-+                break;
- 
--                case 'p':
--                    frames_per_interrupt = param->value.ui;
--                    jack_log("frames per period = %d", frames_per_interrupt);
--                    break;
-+            case 'M':
-+                hw_metering = param->value.i;
-+                break;
- 
--                case 'n':
--                    user_nperiods = param->value.ui;
--                    if (user_nperiods < 2)	/* enforce minimum value */
--                        user_nperiods = 2;
--                    break;
-+            case 'r':
-+                srate = param->value.ui;
-+                jack_log("apparent rate = %d", srate);
-+                break;
- 
--                case 's':
--                    soft_mode = param->value.i;
--                    break;
-+            case 'p':
-+                frames_per_interrupt = param->value.ui;
-+                jack_log("frames per period = %d", frames_per_interrupt);
-+                break;
- 
--                case 'z':
--                    if (dither_opt (param->value.c, &dither)) {
--                        return NULL;
--                    }
--                    break;
-+            case 'n':
-+                user_nperiods = param->value.ui;
-+                if (user_nperiods < 2)	/* enforce minimum value */
-+                    user_nperiods = 2;
-+                break;
- 
--                case 'i':
--                    user_capture_nchnls = param->value.ui;
--                    break;
-+            case 's':
-+                soft_mode = param->value.i;
-+                break;
- 
--                case 'o':
--                    user_playback_nchnls = param->value.ui;
--                    break;
-+            case 'z':
-+                if (dither_opt (param->value.c, &dither)) {
-+                    return NULL;
++
++                if (jack_connect (client, ports[0], jack_port_name (input_port))) {
++                        fprintf (stderr, "cannot connect input ports\n");
 +                }
-+                break;
- 
--                case 'S':
--                    shorts_first = param->value.i;
--                    break;
-+            case 'i':
-+                user_capture_nchnls = param->value.ui;
-+                break;
- 
--                case 'I':
--                    systemic_input_latency = param->value.ui;
--                    break;
-+            case 'o':
-+                user_playback_nchnls = param->value.ui;
-+                break;
- 
--                case 'O':
--                    systemic_output_latency = param->value.ui;
--                    break;
-+            case 'S':
-+                shorts_first = param->value.i;
-+                break;
- 
--                case 'X':
--                    midi_driver = strdup(param->value.str);
--                    break;
--            }
--        }
-+            case 'I':
-+                systemic_input_latency = param->value.ui;
-+                break;
- 
--        /* duplex is the default */
--        if (!capture && !playback) {
--            capture = TRUE;
--            playback = TRUE;
--        }
-+            case 'O':
-+                systemic_output_latency = param->value.ui;
-+                break;
- 
--        Jack::JackAlsaDriver* alsa_driver = new Jack::JackAlsaDriver("system", "alsa_pcm", engine, table);
--        Jack::JackDriverClientInterface* threaded_driver = new Jack::JackThreadedDriver(alsa_driver);
--        // Special open for ALSA driver...
--        if (alsa_driver->Open(frames_per_interrupt, user_nperiods, srate, hw_monitoring, hw_metering, capture, playback, dither, soft_mode, monitor,
--                              user_capture_nchnls, user_playback_nchnls, shorts_first, capture_pcm_name, playback_pcm_name,
--                              systemic_input_latency, systemic_output_latency, midi_driver) == 0) {
--            return threaded_driver;
--        } else {
--            delete threaded_driver; // Delete the decorated driver
--            return NULL;
-+            case 'X':
-+                midi_driver = strdup(param->value.str);
-+                break;
-         }
-     }
- 
-+    /* duplex is the default */
-+    if (!capture && !playback) {
-+        capture = TRUE;
-+        playback = TRUE;
-+    }
 +
-+    Jack::JackAlsaDriver* alsa_driver = new Jack::JackAlsaDriver("system", "alsa_pcm", engine, table);
-+    Jack::JackDriverClientInterface* threaded_driver = new Jack::JackThreadedDriver(alsa_driver);
-+    // Special open for ALSA driver...
-+    if (alsa_driver->Open(frames_per_interrupt, user_nperiods, srate, hw_monitoring, hw_metering, capture, playback, dither, soft_mode, monitor,
-+                          user_capture_nchnls, user_playback_nchnls, shorts_first, capture_pcm_name, playback_pcm_name,
-+                          systemic_input_latency, systemic_output_latency, midi_driver) == 0) {
-+        return threaded_driver;
-+    } else {
-+        delete threaded_driver; // Delete the decorated driver
-+        return NULL;
-+    }
-+}
++                free (ports);
 +
- #ifdef __cplusplus
- }
- #endif
---- a/linux/firewire/JackFFADODriver.cpp
-+++ b/linux/firewire/JackFFADODriver.cpp
-@@ -664,6 +664,8 @@
-     int wait_status = 0;
-     fDelayedUsecs = 0.f;
- 
-+retry:
++                ports = jack_get_ports (client, NULL, NULL,
++                                JackPortIsPhysical|JackPortIsInput);
++                if (ports == NULL) {
++                        fprintf(stderr, "no physical playback ports\n");
++                        exit (1);
++                }
 +
-     jack_nframes_t nframes = ffado_driver_wait(driver, -1, &wait_status,
-                              &fDelayedUsecs);
- 
-@@ -678,11 +680,11 @@
-          */
-         jack_log("FFADO XRun");
-         NotifyXRun(fBeginDateUst, fDelayedUsecs);
--        return -1;
-+        goto retry; /* recoverable error*/
-     }
- 
-     if (nframes != fEngineControl->fBufferSize)
--        jack_log("JackFFADODriver::Read nframes = %ld", nframes);
-+        jack_log("JackFFADODriver::Read warning nframes = %ld", nframes);
-         
-     // Has to be done before read
-     JackDriver::CycleIncTime();
---- a/linux/freebob/JackFreebobDriver.cpp
-+++ b/linux/freebob/JackFreebobDriver.cpp
-@@ -854,6 +854,8 @@
-     int wait_status = 0;
-     fDelayedUsecs = 0.f;
- 
-+retry:
++                if (jack_connect (client, jack_port_name (output_port), ports[0])) {
++                        fprintf (stderr, "cannot connect output ports\n");
++                }
 +
-     jack_nframes_t nframes = freebob_driver_wait (driver, -1, &wait_status,
-                              &fDelayedUsecs);
- 
-@@ -868,11 +870,11 @@
-          */
-         jack_log("FreeBoB XRun");
-         NotifyXRun(fBeginDateUst, fDelayedUsecs);
--        return -1;
-+        goto retry; /* recoverable error*/
-     }
- 
-     if (nframes != fEngineControl->fBufferSize)
--        jack_log("JackFreebobDriver::Read nframes = %ld", nframes);
-+        jack_log("JackFreebobDriver::Read warning nframes = %ld", nframes);
- 
-     // Has to be done before read
-     JackDriver::CycleIncTime();
---- a/macosx/Jack-Info.plist
-+++ b/macosx/Jack-Info.plist
-@@ -7,7 +7,7 @@
- 	<key>CFBundleExecutable</key>
- 	<string>Jackservermp</string>
- 	<key>CFBundleGetInfoString</key>
--	<string>Jackdmp 1.9.6, @03-10 Paul Davis, Grame</string>
-+	<string>Jackdmp 1.9.7, @03-10 Paul Davis, Grame</string>
- 	<key>CFBundleIdentifier</key>
- 	<string>com.grame.Jackmp</string>
- 	<key>CFBundleInfoDictionaryVersion</key>
-@@ -19,6 +19,6 @@
- 	<key>CFBundleSignature</key>
- 	<string>????</string>
- 	<key>CFBundleVersion</key>
--	<string>1.9.6</string>
-+	<string>1.9.7</string>
- </dict>
- </plist>
---- a/macosx/JackMacEngineRPC.cpp
-+++ /dev/null
-@@ -1,250 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
--
--This program 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 of the License, or
--  (at your option) any later version.
--
--  This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
--
--*/
--
--#include "JackServer.h"
--#include "JackNotification.h"
--#include "JackLockedEngine.h"
--#include "JackRPCEngine.h"
--#include "JackMachServerChannel.h"
--#include "JackException.h"
--#include <assert.h>
--
--using namespace Jack;
--
--//-------------------
--// Client management
--//-------------------
--
--#define rpc_type kern_return_t // for astyle
--
--rpc_type server_rpc_jack_client_check(mach_port_t private_port, client_name_t name, client_name_t name_res, int protocol, int options, int* status, int* result)
--{
--    jack_log("rpc_jack_client_check");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    channel->ClientCheck((char*)name, (char*)name_res, protocol, options, status, result);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_client_open(mach_port_t server_port, client_name_t name, int pid, mach_port_t* private_port, int* shared_engine, int* shared_client, int* shared_graph, int* result)
--{
--    jack_log("rpc_jack_client_open name = %s", name);
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[server_port];
--    assert(channel);
--    channel->ClientOpen((char*)name, pid, private_port, shared_engine, shared_client, shared_graph, result);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_client_close(mach_port_t private_port, int refnum, int* result)
--{
--    jack_log("rpc_jack_client_close");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    channel->ClientClose(private_port, refnum);
--    *result = 0;
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_client_activate(mach_port_t private_port, int refnum, int is_real_time, int* result)
--{
--    jack_log("rpc_jack_client_activate");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->ClientActivate(refnum, is_real_time);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_client_deactivate(mach_port_t private_port, int refnum, int* result)
--{
--    jack_log("rpc_jack_client_deactivate");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->ClientDeactivate(refnum);
--    return KERN_SUCCESS;
--}
--
--//-----------------
--// Port management
--//-----------------
--
--rpc_type server_rpc_jack_port_register(mach_port_t private_port, int refnum, client_port_name_t name, client_port_type_t type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result)
--{
--    jack_log("rpc_jack_port_register ref = %d name = %s", refnum, name);
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortRegister(refnum, name, type, flags, buffer_size, port_index);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_unregister(mach_port_t private_port, int refnum, int port, int* result)
--{
--    jack_log("rpc_jack_port_unregister ref = %d port = %d ", refnum, port);
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortUnRegister(refnum, port);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_connect_name(mach_port_t private_port, int refnum, client_port_name_t src, client_port_name_t dst, int* result)
--{
--    jack_log("rpc_jack_port_connect_name");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortConnect(refnum, src, dst);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_disconnect_name(mach_port_t private_port, int refnum, client_port_name_t src, client_port_name_t dst, int* result)
--{
--    jack_log("rpc_jack_port_disconnect_name");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortDisconnect(refnum, src, dst);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_connect(mach_port_t private_port, int refnum, int src, int dst, int* result)
--{
--    jack_log("rpc_jack_port_connect");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortConnect(refnum, src, dst);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_disconnect(mach_port_t private_port, int refnum, int src, int dst, int* result)
--{
--    jack_log("rpc_jack_port_disconnect");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortDisconnect(refnum, src, dst);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_port_rename(mach_port_t private_port, int refnum, int port, client_port_name_t name, int* result)
--{
--    jack_log("server_rpc_jack_port_rename");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetEngine()->PortRename(refnum, port, name);
--    return KERN_SUCCESS;
--}
--
--//------------------------
--// Buffer size, freewheel
--//------------------------
--
--rpc_type server_rpc_jack_set_buffer_size(mach_port_t private_port, int buffer_size, int* result)
--{
--    jack_log("server_rpc_jack_set_buffer_size");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->SetBufferSize(buffer_size);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_set_freewheel(mach_port_t private_port, int onoff, int* result)
--{
--    jack_log("server_rpc_jack_set_freewheel");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->SetFreewheel(onoff);
--    return KERN_SUCCESS;
--}
--
--//----------------------
--// Transport management
--//----------------------
--
--rpc_type server_rpc_jack_release_timebase(mach_port_t private_port, int refnum, int* result)
--{
--    jack_log("server_rpc_jack_release_timebase");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->ReleaseTimebase(refnum);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_set_timebase_callback(mach_port_t private_port, int refnum, int conditional, int* result)
--{
--    jack_log("server_rpc_jack_set_timebase_callback");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->SetTimebaseCallback(refnum, conditional);
--    return KERN_SUCCESS;
--}
--
--//------------------
--// Internal clients
--//------------------
--
--rpc_type server_rpc_jack_get_internal_clientname(mach_port_t private_port, int refnum, int int_ref, client_name_t name_res, int* result)
--{
--    jack_log("server_rpc_jack_get_internal_clientname");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->GetEngine()->GetInternalClientName(int_ref, (char*)name_res);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_internal_clienthandle(mach_port_t private_port, int refnum, client_name_t client_name, int* status, int* int_ref, int* result)
--{
--    jack_log("server_rpc_jack_internal_clienthandle");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->GetEngine()->InternalClientHandle(client_name, status, int_ref);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_internal_clientload(mach_port_t private_port, int refnum, client_name_t client_name, so_name_t so_name, objet_data_t objet_data, int options, int* status, int* int_ref, int* result)
--{
--    jack_log("server_rpc_jack_internal_clientload");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, status);
--    return KERN_SUCCESS;
--}
--
--rpc_type server_rpc_jack_internal_clientunload(mach_port_t private_port, int refnum, int int_ref, int* status, int* result)
--{
--    jack_log("server_rpc_jack_internal_clientunload");
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
--    assert(channel);
--    *result = channel->GetServer()->GetEngine()->InternalClientUnload(int_ref, status);
--    return KERN_SUCCESS;
--}
--
--//-----------------
--// RT notification
--//-----------------
--
--rpc_type server_rpc_jack_client_rt_notify(mach_port_t server_port, int refnum, int notify, int value)
--{
--    jack_log("rpc_jack_client_rt_notify ref = %d notify = %d value = %d", refnum, notify, value);
--    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[server_port];
--    assert(channel);
--    assert(channel->GetServer());
--    
--    if (notify == kQUIT) {
--        throw JackQuitException();
--    } else {
--        channel->GetServer()->Notify(refnum, notify, value);
--        return KERN_SUCCESS;
--    }
--}
---- a/macosx/JackMacLibClientRPC.cpp
-+++ /dev/null
-@@ -1,47 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
--
--This program 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 of the License, or
--  (at your option) any later version.
--
--  This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
--
--*/
--
--#include "JackLibClient.h"
--#include "JackMachClientChannel.h"
--#include "JackRPCEngine.h"
--#include "JackLibGlobals.h"
--#include <assert.h>
--
--using namespace Jack;
--
--#define rpc_type kern_return_t  // for astyle
--
--rpc_type rpc_jack_client_sync_notify(mach_port_t client_port, int refnum, client_name_t name, int notify, message_t message, int value1, int value2, int* result)
--{
--    jack_log("rpc_jack_client_sync_notify ref = %ld name = %s notify = %ld message %s val1 = %ld val2 = %ld", refnum, name, notify, message, value1, value2);
--    JackClient* client = gClientTable[client_port];
--    assert(client);
--    *result = client->ClientNotify(refnum, name, notify, true, message, value1, value2);
--    return KERN_SUCCESS;
--}
--
--rpc_type rpc_jack_client_async_notify(mach_port_t client_port, int refnum, client_name_t name, int notify, message_t message,  int value1, int value2)
--{
--    jack_log("rpc_jack_client_async_notify ref = %ld name = %s notify = %ld message %s val1 = %ld val2 = %ld", refnum, name, notify, message, value1, value2);
--    JackClient* client = gClientTable[client_port];
--    assert(client);
--    client->ClientNotify(refnum, name, notify, false, message, value1, value2);
--    return KERN_SUCCESS;
--}
--
---- a/macosx/JackMachClientChannel.cpp
-+++ /dev/null
-@@ -1,334 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
--the Free Software Foundation; either version 2.1 of the License, or
--(at your option) any later version.
--
--This program 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 Lesser General Public License for more details.
--
--You should have received a copy of the GNU Lesser General Public License
--along with this program; if not, write to the Free Software 
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
--*/
--
--#include "JackMachClientChannel.h"
--#include "JackRPCEngine.h"
--#include "JackTools.h"
--#include "JackRPCClientServer.c"
--#include "JackError.h"
--#include "JackLibClient.h"
--#include "JackMachThread.h"
--#include "JackConstants.h"
--
--namespace Jack
--{
--
--std::map<mach_port_t, JackClient*> gClientTable;
--
--JackMachClientChannel::JackMachClientChannel():fPrivatePort(0),fThread(this)
--{}
--
--JackMachClientChannel::~JackMachClientChannel()
--{}
--
--// Server <===> client
--
--int JackMachClientChannel::ServerCheck(const char* server_name)
--{
--    jack_log("JackMachClientChannel::ServerCheck = %s", server_name);
--    char jack_server_entry_name[512];
--    snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
--
--    // Connect to server
--    if (!fServerPort.ConnectPort(jack_server_entry_name)) {
--        jack_error("Cannot connect to server Mach port");
--        return -1;
--    } else {
--        return 0;
--    }
--}
--
--int JackMachClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* client, jack_options_t options, jack_status_t* status)
--{
--    jack_log("JackMachClientChannel::Open name = %s", name);
--    char jack_server_entry_name[512];
--    snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
--
--    // Connect to server
--    if (!fServerPort.ConnectPort(jack_server_entry_name)) {
--        jack_error("Cannot connect to server Mach port");
--        return -1;
--    }
--
--    // Check name in server
--    int result = 0;
--    ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
--    if (result < 0) {
--        int status1 = *status;
--        if (status1 & JackVersionError)
--            jack_error("JACK protocol mismatch %d", JACK_PROTOCOL_VERSION);
--        else
--            jack_error("Client name = %s conflits with another running client", name);
--        return -1;
--    }
--
--    // Prepare local port using client name
--    char buf[JACK_CLIENT_NAME_SIZE + 1];
--    snprintf(buf, sizeof(buf) - 1, "%s:%s", jack_client_entry, name_res);
--
--    if (!fClientPort.AllocatePort(buf, 16)) {
--        jack_error("Cannot allocate client Mach port");
--        return -1;
--    }
--
--    gClientTable[fClientPort.GetPort()] = client;
--    return 0;
--}
--
--void JackMachClientChannel::Close()
--{
--    jack_log("JackMachClientChannel::Close");
--    gClientTable.erase(fClientPort.GetPort());
--    fServerPort.DisconnectPort();
--    fClientPort.DestroyPort();
--
--    if (fPrivatePort != 0) {
--         kern_return_t res;
--        if ((res = mach_port_destroy(mach_task_self(), fPrivatePort)) != KERN_SUCCESS) {
--            jack_error("JackMachClientChannel::Close err = %s", mach_error_string(res));
--        }
--    }
--}
--
--int JackMachClientChannel::Start()
--{
--    jack_log("JackMachClientChannel::Start");
--    /*
--     To be sure notification thread is started before ClientOpen is called.
--    */
--    if (fThread.StartSync() != 0) {
--        jack_error("Cannot start Jack client listener");
--        return -1;
--    } else {
--        return 0;
--    }
--}
--
--void JackMachClientChannel::Stop()
--{
--    jack_log("JackMachClientChannel::Stop");
--    fThread.Kill();
--}
--
--void JackMachClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
--{
--    kern_return_t res = rpc_jack_client_check(fServerPort.GetPort(), (char*)name, name_res, protocol, options, status, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ClientCheck err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
--{
--    kern_return_t res = rpc_jack_client_open(fServerPort.GetPort(), (char*)name, pid, &fPrivatePort, shared_engine, shared_client, shared_graph, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ClientOpen err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::ClientClose(int refnum, int* result)
--{
--    kern_return_t res = rpc_jack_client_close(fPrivatePort, refnum, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ClientClose err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::ClientActivate(int refnum, int is_real_time, int* result)
--{
--    kern_return_t res = rpc_jack_client_activate(fPrivatePort, refnum, is_real_time, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ClientActivate err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::ClientDeactivate(int refnum, int* result)
--{
--    kern_return_t res = rpc_jack_client_deactivate(fPrivatePort, refnum, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ClientDeactivate err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, jack_port_id_t* port_index, int* result)
--{
--    kern_return_t res = rpc_jack_port_register(fPrivatePort, refnum, (char*)name, (char*)type, flags, buffer_size, port_index, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortRegister err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortUnRegister(int refnum, jack_port_id_t port_index, int* result)
--{
--    kern_return_t res = rpc_jack_port_unregister(fPrivatePort, refnum, port_index, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortUnRegister err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortConnect(int refnum, const char* src, const char* dst, int* result)
--{
--    kern_return_t res = rpc_jack_port_connect_name(fPrivatePort, refnum, (char*)src, (char*)dst, result);
--    if (res != KERN_SUCCESS) {
--        jack_error("JackMachClientChannel::PortConnect err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortDisconnect(int refnum, const char* src, const char* dst, int* result)
--{
--    kern_return_t res = rpc_jack_port_disconnect_name(fPrivatePort, refnum, (char*)src, (char*)dst, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortDisconnect err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
--{
--    kern_return_t res = rpc_jack_port_connect(fPrivatePort, refnum, src, dst, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortConnect err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
--{
--    kern_return_t res = rpc_jack_port_disconnect(fPrivatePort, refnum, src, dst, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortDisconnect err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::PortRename(int refnum, jack_port_id_t port, const char* name, int* result)
--{
--    kern_return_t res = rpc_jack_port_rename(fPrivatePort, refnum, port, (char*)name, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::PortRename err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::SetBufferSize(jack_nframes_t buffer_size, int* result)
--{
--    kern_return_t res = rpc_jack_set_buffer_size(fPrivatePort, buffer_size, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::SetBufferSize err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::SetFreewheel(int onoff, int* result)
--{
--    kern_return_t res = rpc_jack_set_freewheel(fPrivatePort, onoff, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::SetFreewheel err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::ReleaseTimebase(int refnum, int* result)
--{
--    kern_return_t res = rpc_jack_release_timebase(fPrivatePort, refnum, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::ReleaseTimebase err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::SetTimebaseCallback(int refnum, int conditional, int* result)
--{
--    kern_return_t res = rpc_jack_set_timebase_callback(fPrivatePort, refnum, conditional, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::SetTimebaseCallback err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::GetInternalClientName(int refnum, int int_ref, char* name_res, int* result)
--{
--    kern_return_t res = rpc_jack_get_internal_clientname(fPrivatePort, refnum, int_ref, name_res, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::GetInternalClientName err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result)
--{
--    kern_return_t res = rpc_jack_internal_clienthandle(fPrivatePort, refnum, (char*)client_name, status, int_ref, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::InternalClientHandle err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
--{
--    const char* int_client_name = (client_name) ? client_name : "";
--    const char* int_so_name = (so_name) ? so_name : "";
--    const char* int_objet_data = (objet_data) ? objet_data : "";
--    
--    kern_return_t res = rpc_jack_internal_clientload(fPrivatePort, refnum, (char*)int_client_name, (char*)int_so_name, (char*)int_objet_data, options, status, int_ref, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::InternalClientLoad err = %s", mach_error_string(res));
--    }
--}
--
--void JackMachClientChannel::InternalClientUnload(int refnum, int int_ref, int* status, int* result)
--{
--    kern_return_t res = rpc_jack_internal_clientunload(fPrivatePort, refnum, int_ref, status, result);
--    if (res != KERN_SUCCESS) {
--        *result = -1;
--        jack_error("JackMachClientChannel::InternalClientUnload err = %s", mach_error_string(res));
--    }
--}
--
--bool JackMachClientChannel::Init()
--{
--    jack_log("JackMachClientChannel::Init");
--    JackClient* client = gClientTable[fClientPort.GetPort()];
--    return client->Init();
--}
--
--bool JackMachClientChannel::Execute()
--{
--    kern_return_t res;
--    if ((res = mach_msg_server(JackRPCClient_server, 1024, fClientPort.GetPort(), 0)) != KERN_SUCCESS) {
--        jack_error("JackMachClientChannel::Execute err = %s", mach_error_string(res));
--        JackClient* client = gClientTable[fClientPort.GetPort()];
--        client->ShutDown();
--        return false;
--    } else {
--        return true;
--    }
--}
--
--} // end of namespace
--
--
++                free (ports);
++        }
++
++        /* keep running until until we get a quit event */
++
++        while (!simple_quit)
++                sleep(1);
++        
++
++        jack_client_close (client);
++        exit (0);
++}
 --- a/macosx/JackMachClientChannel.h
 +++ /dev/null
 @@ -1,99 +0,0 @@
@@ -5807,132 +5338,6 @@ Forwarded: not-needed
 -
 -#endif
 -
---- a/macosx/JackMachNotifyChannel.cpp
-+++ /dev/null
-@@ -1,67 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
--the Free Software Foundation; either version 2.1 of the License, or
--(at your option) any later version.
--
--This program 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 Lesser General Public License for more details.
--
--You should have received a copy of the GNU Lesser General Public License
--along with this program; if not, write to the Free Software 
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
--*/
--
--#include "JackMachNotifyChannel.h"
--#include "JackRPCClient.h"
--#include "JackError.h"
--#include "JackConstants.h"
--#include <stdio.h>
--
--namespace Jack
--{
--
--// Server side : server to client
--
--int JackMachNotifyChannel::Open(const char* name)
--{
--    jack_log("JackMachNotifyChannel::Open name = %s", name);
--
--    char buf[256];
--    snprintf(buf, sizeof(buf) - 1, "%s:%s", jack_client_entry, name);
--
--    // Connect to client notification port using client name
--    if (!fClientPort.ConnectPort(buf)) {
--        jack_error("Cannot connect client port");
--        return -1;
--    } else {
--        return 0;
--    }
--}
--
--void JackMachNotifyChannel::Close()
--{
--    fClientPort.DisconnectPort();
--}
--
--void JackMachNotifyChannel::ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2, int* result)
--{
--    kern_return_t res = (sync)
--                        ? rpc_jack_client_sync_notify(fClientPort.GetPort(), refnum, (char*)name, notify, (char*)message, value1, value2, result)
--                        : rpc_jack_client_async_notify(fClientPort.GetPort(), refnum, (char*)name, notify, (char*)message, value1, value2);
--    if (res == KERN_SUCCESS) {
--        *result = 0;
--    } else {
--        jack_error("JackMachNotifyChannel::ClientNotify: name = %s notify = %ld err = %s", name, notify, mach_error_string(res));
--        *result = -1;
--    }
--}
--
--} // end of namespace
--
--
---- a/macosx/JackMachNotifyChannel.h
-+++ /dev/null
-@@ -1,53 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
--the Free Software Foundation; either version 2.1 of the License, or
--(at your option) any later version.
--
--This program 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 Lesser General Public License for more details.
--
--You should have received a copy of the GNU Lesser General Public License
--along with this program; if not, write to the Free Software 
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
--*/
--
--#ifndef __JackMachNotifyChannel__
--#define __JackMachNotifyChannel__
--
--#include "JackMachPort.h"
--
--namespace Jack
--{
--
--/*!
--\brief JackNotifyChannel using Mach IPC.
--*/
--
--class JackMachNotifyChannel
--{
--
--    private:
--
--        JackMachPort fClientPort;    /*! Mach port to communicate with the client : from server to client */
--
--    public:
--
--        JackMachNotifyChannel()
--        {}
--
--        int Open(const char* name);		// Open the Server/Client connection
--        void Close();					// Close the Server/Client connection
--
--        void ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2, int* result);
--};
--
--} // end of namespace
--
--#endif
--
 --- a/macosx/JackMachPort.cpp
 +++ /dev/null
 @@ -1,295 +0,0 @@
@@ -6231,6 +5636,79 @@ Forwarded: not-needed
 -
 -} // end of namespace
 -
+--- a/macosx/JackMachServerNotifyChannel.cpp
++++ /dev/null
+@@ -1,70 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program is free software; you can redistribute it and/or modify
+-it under the terms of the GNU Lesser General Public License as published by
+-the Free Software Foundation; either version 2.1 of the License, or
+-(at your option) any later version.
+-
+-This program 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 Lesser General Public License for more details.
+-
+-You should have received a copy of the GNU Lesser General Public License
+-along with this program; if not, write to the Free Software 
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#include "JackMachServerNotifyChannel.h"
+-#include "JackRPCEngineUser.c"
+-#include "JackNotification.h"
+-#include "JackTools.h"
+-#include "JackConstants.h"
+-#include "JackError.h"
+-#include <stdio.h>
+-
+-namespace Jack
+-{
+-
+-int JackMachServerNotifyChannel::Open(const char* server_name)
+-{
+-    jack_log("JackMachServerChannel::Open");
+-    char jack_server_entry_name[512];
+-    snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
+-
+-    if (!fClientPort.ConnectPort(jack_server_entry_name)) {
+-        jack_error("Cannot connect to server port");
+-        return -1;
+-    } else {
+-        return 0;
+-    }
+-}
+-
+-void JackMachServerNotifyChannel::Close()
+-{}
+-
+-void JackMachServerNotifyChannel::Notify(int refnum, int notify, int value)
+-{
+-    kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), refnum, notify, value, 0);
+-    if (res != KERN_SUCCESS) {
+-        jack_error("Could not write request ref = %d notify = %d err = %s", refnum, notify, mach_error_string(res));
+-    }
+-}
+-    
+-void JackMachServerNotifyChannel::NotifyQuit()
+-{
+- #ifdef MAC_OS_X_VERSION_10_5
+-    // Nothing : since exception does not work in this case on pre Snow Loopard systems, see JackMachServerChannel::Close()
+- #else
+-    kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), -1, kQUIT, 0, 0);
+-    if (res != KERN_SUCCESS) {
+-        jack_error("Could not write request ref = %d notify = %d err = %s", -1, kQUIT, mach_error_string(res));
+-    }
+-#endif
+-}
+-
+-} // end of namespace
+-
+-
 --- a/macosx/JackMachPort.h
 +++ /dev/null
 @@ -1,88 +0,0 @@
@@ -6322,6 +5800,64 @@ Forwarded: not-needed
 -
 -#endif
 -
+--- a/macosx/JackMachServerNotifyChannel.h
++++ /dev/null
+@@ -1,55 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program is free software; you can redistribute it and/or modify
+-it under the terms of the GNU Lesser General Public License as published by
+-the Free Software Foundation; either version 2.1 of the License, or
+-(at your option) any later version.
+-
+-This program 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 Lesser General Public License for more details.
+-
+-You should have received a copy of the GNU Lesser General Public License
+-along with this program; if not, write to the Free Software 
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#ifndef __JackMachServerNotifyChannel__
+-#define __JackMachServerNotifyChannel__
+-
+-#include "JackChannel.h"
+-#include "JackMachPort.h"
+-
+-namespace Jack
+-{
+-
+-/*!
+-\brief JackServerNotifyChannel using Mach IPC.
+-*/
+-
+-class JackMachServerNotifyChannel
+-{
+-
+-    private:
+-
+-        JackMachPort fClientPort;    /*! Mach port to communicate with the server : from client to server */
+-
+-    public:
+-
+-        JackMachServerNotifyChannel()
+-        {}
+-
+-        int Open(const char* server_name);  // Open the Server/Client connection
+-        void Close();                       // Close the Server/Client connection
+-
+-        void Notify(int refnum, int notify, int value);
+-        void NotifyQuit();
+-};  
+-
+-} // end of namespace
+-
+-#endif
+-
 --- a/macosx/JackMachServerChannel.cpp
 +++ /dev/null
 @@ -1,174 +0,0 @@
@@ -6499,6 +6035,379 @@ Forwarded: not-needed
 -} // end of namespace
 -
 -
+--- a/macosx/JackMachNotifyChannel.cpp
++++ /dev/null
+@@ -1,67 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program is free software; you can redistribute it and/or modify
+-it under the terms of the GNU Lesser General Public License as published by
+-the Free Software Foundation; either version 2.1 of the License, or
+-(at your option) any later version.
+-
+-This program 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 Lesser General Public License for more details.
+-
+-You should have received a copy of the GNU Lesser General Public License
+-along with this program; if not, write to the Free Software 
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#include "JackMachNotifyChannel.h"
+-#include "JackRPCClient.h"
+-#include "JackError.h"
+-#include "JackConstants.h"
+-#include <stdio.h>
+-
+-namespace Jack
+-{
+-
+-// Server side : server to client
+-
+-int JackMachNotifyChannel::Open(const char* name)
+-{
+-    jack_log("JackMachNotifyChannel::Open name = %s", name);
+-
+-    char buf[256];
+-    snprintf(buf, sizeof(buf) - 1, "%s:%s", jack_client_entry, name);
+-
+-    // Connect to client notification port using client name
+-    if (!fClientPort.ConnectPort(buf)) {
+-        jack_error("Cannot connect client port");
+-        return -1;
+-    } else {
+-        return 0;
+-    }
+-}
+-
+-void JackMachNotifyChannel::Close()
+-{
+-    fClientPort.DisconnectPort();
+-}
+-
+-void JackMachNotifyChannel::ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2, int* result)
+-{
+-    kern_return_t res = (sync)
+-                        ? rpc_jack_client_sync_notify(fClientPort.GetPort(), refnum, (char*)name, notify, (char*)message, value1, value2, result)
+-                        : rpc_jack_client_async_notify(fClientPort.GetPort(), refnum, (char*)name, notify, (char*)message, value1, value2);
+-    if (res == KERN_SUCCESS) {
+-        *result = 0;
+-    } else {
+-        jack_error("JackMachNotifyChannel::ClientNotify: name = %s notify = %ld err = %s", name, notify, mach_error_string(res));
+-        *result = -1;
+-    }
+-}
+-
+-} // end of namespace
+-
+-
+--- a/macosx/JackMacLibClientRPC.cpp
++++ /dev/null
+@@ -1,47 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program 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 of the License, or
+-  (at your option) any later version.
+-
+-  This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+-
+-*/
+-
+-#include "JackLibClient.h"
+-#include "JackMachClientChannel.h"
+-#include "JackRPCEngine.h"
+-#include "JackLibGlobals.h"
+-#include <assert.h>
+-
+-using namespace Jack;
+-
+-#define rpc_type kern_return_t  // for astyle
+-
+-rpc_type rpc_jack_client_sync_notify(mach_port_t client_port, int refnum, client_name_t name, int notify, message_t message, int value1, int value2, int* result)
+-{
+-    jack_log("rpc_jack_client_sync_notify ref = %ld name = %s notify = %ld message %s val1 = %ld val2 = %ld", refnum, name, notify, message, value1, value2);
+-    JackClient* client = gClientTable[client_port];
+-    assert(client);
+-    *result = client->ClientNotify(refnum, name, notify, true, message, value1, value2);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type rpc_jack_client_async_notify(mach_port_t client_port, int refnum, client_name_t name, int notify, message_t message,  int value1, int value2)
+-{
+-    jack_log("rpc_jack_client_async_notify ref = %ld name = %s notify = %ld message %s val1 = %ld val2 = %ld", refnum, name, notify, message, value1, value2);
+-    JackClient* client = gClientTable[client_port];
+-    assert(client);
+-    client->ClientNotify(refnum, name, notify, false, message, value1, value2);
+-    return KERN_SUCCESS;
+-}
+-
+--- a/macosx/JackMacEngineRPC.cpp
++++ /dev/null
+@@ -1,250 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program 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 of the License, or
+-  (at your option) any later version.
+-
+-  This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+-
+-*/
+-
+-#include "JackServer.h"
+-#include "JackNotification.h"
+-#include "JackLockedEngine.h"
+-#include "JackRPCEngine.h"
+-#include "JackMachServerChannel.h"
+-#include "JackException.h"
+-#include <assert.h>
+-
+-using namespace Jack;
+-
+-//-------------------
+-// Client management
+-//-------------------
+-
+-#define rpc_type kern_return_t // for astyle
+-
+-rpc_type server_rpc_jack_client_check(mach_port_t private_port, client_name_t name, client_name_t name_res, int protocol, int options, int* status, int* result)
+-{
+-    jack_log("rpc_jack_client_check");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    channel->ClientCheck((char*)name, (char*)name_res, protocol, options, status, result);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_client_open(mach_port_t server_port, client_name_t name, int pid, mach_port_t* private_port, int* shared_engine, int* shared_client, int* shared_graph, int* result)
+-{
+-    jack_log("rpc_jack_client_open name = %s", name);
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[server_port];
+-    assert(channel);
+-    channel->ClientOpen((char*)name, pid, private_port, shared_engine, shared_client, shared_graph, result);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_client_close(mach_port_t private_port, int refnum, int* result)
+-{
+-    jack_log("rpc_jack_client_close");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    channel->ClientClose(private_port, refnum);
+-    *result = 0;
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_client_activate(mach_port_t private_port, int refnum, int is_real_time, int* result)
+-{
+-    jack_log("rpc_jack_client_activate");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->ClientActivate(refnum, is_real_time);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_client_deactivate(mach_port_t private_port, int refnum, int* result)
+-{
+-    jack_log("rpc_jack_client_deactivate");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->ClientDeactivate(refnum);
+-    return KERN_SUCCESS;
+-}
+-
+-//-----------------
+-// Port management
+-//-----------------
+-
+-rpc_type server_rpc_jack_port_register(mach_port_t private_port, int refnum, client_port_name_t name, client_port_type_t type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result)
+-{
+-    jack_log("rpc_jack_port_register ref = %d name = %s", refnum, name);
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortRegister(refnum, name, type, flags, buffer_size, port_index);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_unregister(mach_port_t private_port, int refnum, int port, int* result)
+-{
+-    jack_log("rpc_jack_port_unregister ref = %d port = %d ", refnum, port);
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortUnRegister(refnum, port);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_connect_name(mach_port_t private_port, int refnum, client_port_name_t src, client_port_name_t dst, int* result)
+-{
+-    jack_log("rpc_jack_port_connect_name");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortConnect(refnum, src, dst);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_disconnect_name(mach_port_t private_port, int refnum, client_port_name_t src, client_port_name_t dst, int* result)
+-{
+-    jack_log("rpc_jack_port_disconnect_name");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortDisconnect(refnum, src, dst);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_connect(mach_port_t private_port, int refnum, int src, int dst, int* result)
+-{
+-    jack_log("rpc_jack_port_connect");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortConnect(refnum, src, dst);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_disconnect(mach_port_t private_port, int refnum, int src, int dst, int* result)
+-{
+-    jack_log("rpc_jack_port_disconnect");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortDisconnect(refnum, src, dst);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_port_rename(mach_port_t private_port, int refnum, int port, client_port_name_t name, int* result)
+-{
+-    jack_log("server_rpc_jack_port_rename");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetEngine()->PortRename(refnum, port, name);
+-    return KERN_SUCCESS;
+-}
+-
+-//------------------------
+-// Buffer size, freewheel
+-//------------------------
+-
+-rpc_type server_rpc_jack_set_buffer_size(mach_port_t private_port, int buffer_size, int* result)
+-{
+-    jack_log("server_rpc_jack_set_buffer_size");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->SetBufferSize(buffer_size);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_set_freewheel(mach_port_t private_port, int onoff, int* result)
+-{
+-    jack_log("server_rpc_jack_set_freewheel");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->SetFreewheel(onoff);
+-    return KERN_SUCCESS;
+-}
+-
+-//----------------------
+-// Transport management
+-//----------------------
+-
+-rpc_type server_rpc_jack_release_timebase(mach_port_t private_port, int refnum, int* result)
+-{
+-    jack_log("server_rpc_jack_release_timebase");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->ReleaseTimebase(refnum);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_set_timebase_callback(mach_port_t private_port, int refnum, int conditional, int* result)
+-{
+-    jack_log("server_rpc_jack_set_timebase_callback");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->SetTimebaseCallback(refnum, conditional);
+-    return KERN_SUCCESS;
+-}
+-
+-//------------------
+-// Internal clients
+-//------------------
+-
+-rpc_type server_rpc_jack_get_internal_clientname(mach_port_t private_port, int refnum, int int_ref, client_name_t name_res, int* result)
+-{
+-    jack_log("server_rpc_jack_get_internal_clientname");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->GetEngine()->GetInternalClientName(int_ref, (char*)name_res);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_internal_clienthandle(mach_port_t private_port, int refnum, client_name_t client_name, int* status, int* int_ref, int* result)
+-{
+-    jack_log("server_rpc_jack_internal_clienthandle");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->GetEngine()->InternalClientHandle(client_name, status, int_ref);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_internal_clientload(mach_port_t private_port, int refnum, client_name_t client_name, so_name_t so_name, objet_data_t objet_data, int options, int* status, int* int_ref, int* result)
+-{
+-    jack_log("server_rpc_jack_internal_clientload");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->InternalClientLoad(client_name, so_name, objet_data, options, int_ref, status);
+-    return KERN_SUCCESS;
+-}
+-
+-rpc_type server_rpc_jack_internal_clientunload(mach_port_t private_port, int refnum, int int_ref, int* status, int* result)
+-{
+-    jack_log("server_rpc_jack_internal_clientunload");
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
+-    assert(channel);
+-    *result = channel->GetServer()->GetEngine()->InternalClientUnload(int_ref, status);
+-    return KERN_SUCCESS;
+-}
+-
+-//-----------------
+-// RT notification
+-//-----------------
+-
+-rpc_type server_rpc_jack_client_rt_notify(mach_port_t server_port, int refnum, int notify, int value)
+-{
+-    jack_log("rpc_jack_client_rt_notify ref = %d notify = %d value = %d", refnum, notify, value);
+-    JackMachServerChannel* channel = JackMachServerChannel::fPortTable[server_port];
+-    assert(channel);
+-    assert(channel->GetServer());
+-    
+-    if (notify == kQUIT) {
+-        throw JackQuitException();
+-    } else {
+-        channel->GetServer()->Notify(refnum, notify, value);
+-        return KERN_SUCCESS;
+-    }
+-}
 --- a/macosx/JackMachServerChannel.h
 +++ /dev/null
 @@ -1,76 +0,0 @@
@@ -6578,9 +6487,9 @@ Forwarded: not-needed
 -
 -#endif
 -
---- a/macosx/JackMachServerNotifyChannel.cpp
+--- a/macosx/JackMachNotifyChannel.h
 +++ /dev/null
-@@ -1,70 +0,0 @@
+@@ -1,53 +0,0 @@
 -/*
 -Copyright (C) 2004-2008 Grame
 -
@@ -6600,1187 +6509,405 @@ Forwarded: not-needed
 -
 -*/
 -
--#include "JackMachServerNotifyChannel.h"
--#include "JackRPCEngineUser.c"
--#include "JackNotification.h"
+-#ifndef __JackMachNotifyChannel__
+-#define __JackMachNotifyChannel__
+-
+-#include "JackMachPort.h"
+-
+-namespace Jack
+-{
+-
+-/*!
+-\brief JackNotifyChannel using Mach IPC.
+-*/
+-
+-class JackMachNotifyChannel
+-{
+-
+-    private:
+-
+-        JackMachPort fClientPort;    /*! Mach port to communicate with the client : from server to client */
+-
+-    public:
+-
+-        JackMachNotifyChannel()
+-        {}
+-
+-        int Open(const char* name);		// Open the Server/Client connection
+-        void Close();					// Close the Server/Client connection
+-
+-        void ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2, int* result);
+-};
+-
+-} // end of namespace
+-
+-#endif
+-
+--- a/macosx/JackMachClientChannel.cpp
++++ /dev/null
+@@ -1,334 +0,0 @@
+-/*
+-Copyright (C) 2004-2008 Grame
+-
+-This program is free software; you can redistribute it and/or modify
+-it under the terms of the GNU Lesser General Public License as published by
+-the Free Software Foundation; either version 2.1 of the License, or
+-(at your option) any later version.
+-
+-This program 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 Lesser General Public License for more details.
+-
+-You should have received a copy of the GNU Lesser General Public License
+-along with this program; if not, write to the Free Software 
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#include "JackMachClientChannel.h"
+-#include "JackRPCEngine.h"
 -#include "JackTools.h"
--#include "JackConstants.h"
+-#include "JackRPCClientServer.c"
 -#include "JackError.h"
--#include <stdio.h>
+-#include "JackLibClient.h"
+-#include "JackMachThread.h"
+-#include "JackConstants.h"
 -
 -namespace Jack
 -{
 -
--int JackMachServerNotifyChannel::Open(const char* server_name)
+-std::map<mach_port_t, JackClient*> gClientTable;
+-
+-JackMachClientChannel::JackMachClientChannel():fPrivatePort(0),fThread(this)
+-{}
+-
+-JackMachClientChannel::~JackMachClientChannel()
+-{}
+-
+-// Server <===> client
+-
+-int JackMachClientChannel::ServerCheck(const char* server_name)
 -{
--    jack_log("JackMachServerChannel::Open");
+-    jack_log("JackMachClientChannel::ServerCheck = %s", server_name);
 -    char jack_server_entry_name[512];
 -    snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
 -
--    if (!fClientPort.ConnectPort(jack_server_entry_name)) {
--        jack_error("Cannot connect to server port");
+-    // Connect to server
+-    if (!fServerPort.ConnectPort(jack_server_entry_name)) {
+-        jack_error("Cannot connect to server Mach port");
 -        return -1;
 -    } else {
 -        return 0;
 -    }
 -}
 -
--void JackMachServerNotifyChannel::Close()
--{}
+-int JackMachClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* client, jack_options_t options, jack_status_t* status)
+-{
+-    jack_log("JackMachClientChannel::Open name = %s", name);
+-    char jack_server_entry_name[512];
+-    snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
 -
--void JackMachServerNotifyChannel::Notify(int refnum, int notify, int value)
+-    // Connect to server
+-    if (!fServerPort.ConnectPort(jack_server_entry_name)) {
+-        jack_error("Cannot connect to server Mach port");
+-        return -1;
+-    }
+-
+-    // Check name in server
+-    int result = 0;
+-    ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
+-    if (result < 0) {
+-        int status1 = *status;
+-        if (status1 & JackVersionError)
+-            jack_error("JACK protocol mismatch %d", JACK_PROTOCOL_VERSION);
+-        else
+-            jack_error("Client name = %s conflits with another running client", name);
+-        return -1;
+-    }
+-
+-    // Prepare local port using client name
+-    char buf[JACK_CLIENT_NAME_SIZE + 1];
+-    snprintf(buf, sizeof(buf) - 1, "%s:%s", jack_client_entry, name_res);
+-
+-    if (!fClientPort.AllocatePort(buf, 16)) {
+-        jack_error("Cannot allocate client Mach port");
+-        return -1;
+-    }
+-
+-    gClientTable[fClientPort.GetPort()] = client;
+-    return 0;
+-}
+-
+-void JackMachClientChannel::Close()
 -{
--    kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), refnum, notify, value, 0);
+-    jack_log("JackMachClientChannel::Close");
+-    gClientTable.erase(fClientPort.GetPort());
+-    fServerPort.DisconnectPort();
+-    fClientPort.DestroyPort();
+-
+-    if (fPrivatePort != 0) {
+-         kern_return_t res;
+-        if ((res = mach_port_destroy(mach_task_self(), fPrivatePort)) != KERN_SUCCESS) {
+-            jack_error("JackMachClientChannel::Close err = %s", mach_error_string(res));
+-        }
+-    }
+-}
+-
+-int JackMachClientChannel::Start()
+-{
+-    jack_log("JackMachClientChannel::Start");
+-    /*
+-     To be sure notification thread is started before ClientOpen is called.
+-    */
+-    if (fThread.StartSync() != 0) {
+-        jack_error("Cannot start Jack client listener");
+-        return -1;
+-    } else {
+-        return 0;
+-    }
+-}
+-
+-void JackMachClientChannel::Stop()
+-{
+-    jack_log("JackMachClientChannel::Stop");
+-    fThread.Kill();
+-}
+-
+-void JackMachClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
+-{
+-    kern_return_t res = rpc_jack_client_check(fServerPort.GetPort(), (char*)name, name_res, protocol, options, status, result);
 -    if (res != KERN_SUCCESS) {
--        jack_error("Could not write request ref = %d notify = %d err = %s", refnum, notify, mach_error_string(res));
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ClientCheck err = %s", mach_error_string(res));
 -    }
 -}
--    
--void JackMachServerNotifyChannel::NotifyQuit()
+-
+-void JackMachClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
 -{
-- #ifdef MAC_OS_X_VERSION_10_5
--    // Nothing : since exception does not work in this case on pre Snow Loopard systems, see JackMachServerChannel::Close()
-- #else
--    kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), -1, kQUIT, 0, 0);
+-    kern_return_t res = rpc_jack_client_open(fServerPort.GetPort(), (char*)name, pid, &fPrivatePort, shared_engine, shared_client, shared_graph, result);
 -    if (res != KERN_SUCCESS) {
--        jack_error("Could not write request ref = %d notify = %d err = %s", -1, kQUIT, mach_error_string(res));
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ClientOpen err = %s", mach_error_string(res));
 -    }
--#endif
 -}
 -
--} // end of namespace
+-void JackMachClientChannel::ClientClose(int refnum, int* result)
+-{
+-    kern_return_t res = rpc_jack_client_close(fPrivatePort, refnum, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ClientClose err = %s", mach_error_string(res));
+-    }
+-}
 -
+-void JackMachClientChannel::ClientActivate(int refnum, int is_real_time, int* result)
+-{
+-    kern_return_t res = rpc_jack_client_activate(fPrivatePort, refnum, is_real_time, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ClientActivate err = %s", mach_error_string(res));
+-    }
+-}
 -
---- a/macosx/JackMachServerNotifyChannel.h
-+++ /dev/null
-@@ -1,55 +0,0 @@
--/*
--Copyright (C) 2004-2008 Grame
+-void JackMachClientChannel::ClientDeactivate(int refnum, int* result)
+-{
+-    kern_return_t res = rpc_jack_client_deactivate(fPrivatePort, refnum, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ClientDeactivate err = %s", mach_error_string(res));
+-    }
+-}
 -
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
--the Free Software Foundation; either version 2.1 of the License, or
--(at your option) any later version.
+-void JackMachClientChannel::PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, jack_port_id_t* port_index, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_register(fPrivatePort, refnum, (char*)name, (char*)type, flags, buffer_size, port_index, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortRegister err = %s", mach_error_string(res));
+-    }
+-}
 -
--This program 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 Lesser General Public License for more details.
+-void JackMachClientChannel::PortUnRegister(int refnum, jack_port_id_t port_index, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_unregister(fPrivatePort, refnum, port_index, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortUnRegister err = %s", mach_error_string(res));
+-    }
+-}
 -
--You should have received a copy of the GNU Lesser General Public License
--along with this program; if not, write to the Free Software 
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-void JackMachClientChannel::PortConnect(int refnum, const char* src, const char* dst, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_connect_name(fPrivatePort, refnum, (char*)src, (char*)dst, result);
+-    if (res != KERN_SUCCESS) {
+-        jack_error("JackMachClientChannel::PortConnect err = %s", mach_error_string(res));
+-    }
+-}
 -
--*/
+-void JackMachClientChannel::PortDisconnect(int refnum, const char* src, const char* dst, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_disconnect_name(fPrivatePort, refnum, (char*)src, (char*)dst, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortDisconnect err = %s", mach_error_string(res));
+-    }
+-}
 -
--#ifndef __JackMachServerNotifyChannel__
--#define __JackMachServerNotifyChannel__
+-void JackMachClientChannel::PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_connect(fPrivatePort, refnum, src, dst, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortConnect err = %s", mach_error_string(res));
+-    }
+-}
 -
--#include "JackChannel.h"
--#include "JackMachPort.h"
+-void JackMachClientChannel::PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
+-{
+-    kern_return_t res = rpc_jack_port_disconnect(fPrivatePort, refnum, src, dst, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortDisconnect err = %s", mach_error_string(res));
+-    }
+-}
 -
--namespace Jack
+-void JackMachClientChannel::PortRename(int refnum, jack_port_id_t port, const char* name, int* result)
 -{
+-    kern_return_t res = rpc_jack_port_rename(fPrivatePort, refnum, port, (char*)name, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::PortRename err = %s", mach_error_string(res));
+-    }
+-}
 -
--/*!
--\brief JackServerNotifyChannel using Mach IPC.
--*/
+-void JackMachClientChannel::SetBufferSize(jack_nframes_t buffer_size, int* result)
+-{
+-    kern_return_t res = rpc_jack_set_buffer_size(fPrivatePort, buffer_size, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::SetBufferSize err = %s", mach_error_string(res));
+-    }
+-}
 -
--class JackMachServerNotifyChannel
+-void JackMachClientChannel::SetFreewheel(int onoff, int* result)
 -{
+-    kern_return_t res = rpc_jack_set_freewheel(fPrivatePort, onoff, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::SetFreewheel err = %s", mach_error_string(res));
+-    }
+-}
 -
--    private:
+-void JackMachClientChannel::ReleaseTimebase(int refnum, int* result)
+-{
+-    kern_return_t res = rpc_jack_release_timebase(fPrivatePort, refnum, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::ReleaseTimebase err = %s", mach_error_string(res));
+-    }
+-}
 -
--        JackMachPort fClientPort;    /*! Mach port to communicate with the server : from client to server */
+-void JackMachClientChannel::SetTimebaseCallback(int refnum, int conditional, int* result)
+-{
+-    kern_return_t res = rpc_jack_set_timebase_callback(fPrivatePort, refnum, conditional, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::SetTimebaseCallback err = %s", mach_error_string(res));
+-    }
+-}
 -
--    public:
+-void JackMachClientChannel::GetInternalClientName(int refnum, int int_ref, char* name_res, int* result)
+-{
+-    kern_return_t res = rpc_jack_get_internal_clientname(fPrivatePort, refnum, int_ref, name_res, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::GetInternalClientName err = %s", mach_error_string(res));
+-    }
+-}
 -
--        JackMachServerNotifyChannel()
--        {}
+-void JackMachClientChannel::InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result)
+-{
+-    kern_return_t res = rpc_jack_internal_clienthandle(fPrivatePort, refnum, (char*)client_name, status, int_ref, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::InternalClientHandle err = %s", mach_error_string(res));
+-    }
+-}
 -
--        int Open(const char* server_name);  // Open the Server/Client connection
--        void Close();                       // Close the Server/Client connection
+-void JackMachClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
+-{
+-    const char* int_client_name = (client_name) ? client_name : "";
+-    const char* int_so_name = (so_name) ? so_name : "";
+-    const char* int_objet_data = (objet_data) ? objet_data : "";
+-    
+-    kern_return_t res = rpc_jack_internal_clientload(fPrivatePort, refnum, (char*)int_client_name, (char*)int_so_name, (char*)int_objet_data, options, status, int_ref, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::InternalClientLoad err = %s", mach_error_string(res));
+-    }
+-}
 -
--        void Notify(int refnum, int notify, int value);
--        void NotifyQuit();
--};  
+-void JackMachClientChannel::InternalClientUnload(int refnum, int int_ref, int* status, int* result)
+-{
+-    kern_return_t res = rpc_jack_internal_clientunload(fPrivatePort, refnum, int_ref, status, result);
+-    if (res != KERN_SUCCESS) {
+-        *result = -1;
+-        jack_error("JackMachClientChannel::InternalClientUnload err = %s", mach_error_string(res));
+-    }
+-}
 -
--} // end of namespace
+-bool JackMachClientChannel::Init()
+-{
+-    jack_log("JackMachClientChannel::Init");
+-    JackClient* client = gClientTable[fClientPort.GetPort()];
+-    return client->Init();
+-}
 -
--#endif
+-bool JackMachClientChannel::Execute()
+-{
+-    kern_return_t res;
+-    if ((res = mach_msg_server(JackRPCClient_server, 1024, fClientPort.GetPort(), 0)) != KERN_SUCCESS) {
+-        jack_error("JackMachClientChannel::Execute err = %s", mach_error_string(res));
+-        JackClient* client = gClientTable[fClientPort.GetPort()];
+-        client->ShutDown();
+-        return false;
+-    } else {
+-        return true;
+-    }
+-}
 -
---- a/macosx/JackPlatformPlug_os.h
-+++ b/macosx/JackPlatformPlug_os.h
-@@ -26,14 +26,18 @@
- 
- namespace Jack
- {       
-+    struct JackRequest;
-+    struct JackResult;
-+    
- 	class JackPosixMutex;
- 	class JackMachThread;
- 	class JackMachSemaphore;
+-} // end of namespace
 -
--	class JackMachServerChannel;
--	class JackMachClientChannel;
--	class JackMachServerNotifyChannel;
--	class JackMachNotifyChannel;
-+    
-+    class JackSocketServerChannel;
-+    class JackSocketClientChannel;
-+    class JackSocketServerNotifyChannel;
-+    class JackSocketNotifyChannel;
-+    
- 	class JackNetUnixSocket;
- }
- 
-@@ -49,25 +53,28 @@
- #include "JackMachSemaphore.h"
- namespace Jack { typedef JackMachSemaphore JackSynchro; }
- 
-+#include "JackSocket.h"
-+namespace Jack { typedef JackClientSocket JackChannelTransaction; }
-+
- /* __JackPlatformProcessSync__ */
- #include "JackProcessSync.h"
- /* Only on windows a special JackProcessSync is used. It is directly defined by including JackProcessSync.h here */
- 
- /* __JackPlatformServerChannel__ */ 
--#include "JackMachServerChannel.h"
--namespace Jack { typedef JackMachServerChannel JackServerChannel; }
-+#include "JackSocketServerChannel.h"
-+namespace Jack { typedef JackSocketServerChannel JackServerChannel; }
- 
- /* __JackPlatformClientChannel__ */
--#include "JackMachClientChannel.h"
--namespace Jack { typedef JackMachClientChannel JackClientChannel; }
-+#include "JackSocketClientChannel.h"
-+namespace Jack { typedef JackSocketClientChannel JackClientChannel; }
- 
- /* __JackPlatformServerNotifyChannel__ */
--#include "JackMachServerNotifyChannel.h"
--namespace Jack { typedef JackMachServerNotifyChannel JackServerNotifyChannel; }
-+#include "JackSocketServerNotifyChannel.h"
-+namespace Jack { typedef JackSocketServerNotifyChannel JackServerNotifyChannel; }
- 
- /* __JackPlatformNotifyChannel__ */
--#include "JackMachNotifyChannel.h"
--namespace Jack { typedef JackMachNotifyChannel JackNotifyChannel; }
-+#include "JackSocketNotifyChannel.h"
-+namespace Jack { typedef JackSocketNotifyChannel JackNotifyChannel; }
- 
- /* __JackPlatformNetSocket__ */
- #include "JackNetUnixSocket.h"
---- a/macosx/Jackdmp.xcodeproj/project.pbxproj
-+++ b/macosx/Jackdmp.xcodeproj/project.pbxproj
-@@ -47,6 +47,7 @@
- 				4BFA833A0DF6AB540087B4E1 /* PBXTargetDependency */,
- 				4BFA833C0DF6AB540087B4E1 /* PBXTargetDependency */,
- 				4B32258F10A31AB400838A8E /* PBXTargetDependency */,
-+				4B66550E127C356E00753A79 /* PBXTargetDependency */,
- 			);
- 			name = "All Universal 32/64 bits";
- 			productName = All;
-@@ -132,7 +133,6 @@
- 		4B32258010A3195A00838A8E /* netjack_packet.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3224ED10A315C400838A8E /* netjack_packet.h */; };
- 		4B32258110A3195B00838A8E /* netsource.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B32256310A318E300838A8E /* netsource.c */; };
- 		4B35C41E0D4731D1000DE7AE /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; };
--		4B35C4290D4731D1000DE7AE /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4B35C42A0D4731D1000DE7AE /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4B35C42B0D4731D1000DE7AE /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4B35C42C0D4731D1000DE7AE /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -153,7 +153,6 @@
- 		4B35C43D0D4731D1000DE7AE /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
- 		4B35C43E0D4731D1000DE7AE /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
- 		4B35C43F0D4731D1000DE7AE /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
--		4B35C4400D4731D1000DE7AE /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
- 		4B35C4460D4731D1000DE7AE /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
- 		4B35C4470D4731D1000DE7AE /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
- 		4B35C4480D4731D1000DE7AE /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
-@@ -170,9 +169,6 @@
- 		4B35C4530D4731D1000DE7AE /* JackMidiPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B80D7E50BA0D17400F035BB /* JackMidiPort.h */; };
- 		4B35C4540D4731D1000DE7AE /* midiport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6B9EF50CD0958B0051EE5A /* midiport.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 		4B35C4550D4731D1000DE7AE /* JackTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE4CC000CDA153400CCF5BB /* JackTools.h */; };
--		4B35C4580D4731D1000DE7AE /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
--		4B35C4590D4731D1000DE7AE /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
--		4B35C45A0D4731D1000DE7AE /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4B35C45B0D4731D1000DE7AE /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4B35C45C0D4731D1000DE7AE /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4B35C45E0D4731D1000DE7AE /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -186,7 +182,6 @@
- 		4B35C4660D4731D1000DE7AE /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
- 		4B35C4680D4731D1000DE7AE /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
- 		4B35C4690D4731D1000DE7AE /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
--		4B35C46A0D4731D1000DE7AE /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
- 		4B35C4700D4731D1000DE7AE /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
- 		4B35C4720D4731D1000DE7AE /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
- 		4B35C4730D4731D1000DE7AE /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
-@@ -198,7 +193,6 @@
- 		4B35C47A0D4731D1000DE7AE /* JackMidiAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */; };
- 		4B35C47B0D4731D1000DE7AE /* JackEngineControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */; };
- 		4B35C47C0D4731D1000DE7AE /* JackTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE4CBFF0CDA153400CCF5BB /* JackTools.cpp */; };
--		4B35C4870D4731D1000DE7AE /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4B35C4880D4731D1000DE7AE /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4B35C4890D4731D1000DE7AE /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4B35C48A0D4731D1000DE7AE /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -227,9 +221,6 @@
- 		4B35C4A90D4731D1000DE7AE /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
- 		4B35C4AA0D4731D1000DE7AE /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
- 		4B35C4AB0D4731D1000DE7AE /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
--		4B35C4AE0D4731D1000DE7AE /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
--		4B35C4AF0D4731D1000DE7AE /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
--		4B35C4B00D4731D1000DE7AE /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
- 		4B35C4B20D4731D1000DE7AE /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
- 		4B35C4B30D4731D1000DE7AE /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; };
- 		4B35C4B40D4731D1000DE7AE /* JackServerGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC2168D0A444BED00BDA09F /* JackServerGlobals.h */; };
-@@ -246,7 +237,6 @@
- 		4B35C4BF0D4731D1000DE7AE /* midiport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6B9EF50CD0958B0051EE5A /* midiport.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 		4B35C4C00D4731D1000DE7AE /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
- 		4B35C4C10D4731D1000DE7AE /* JackTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE4CC000CDA153400CCF5BB /* JackTools.h */; };
--		4B35C4C40D4731D1000DE7AE /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4B35C4C50D4731D1000DE7AE /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4B35C4C60D4731D1000DE7AE /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4B35C4C80D4731D1000DE7AE /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -268,12 +258,7 @@
- 		4B35C4DD0D4731D1000DE7AE /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
- 		4B35C4DE0D4731D1000DE7AE /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
- 		4B35C4DF0D4731D1000DE7AE /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
--		4B35C4E00D4731D1000DE7AE /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
- 		4B35C4E20D4731D1000DE7AE /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
--		4B35C4E60D4731D1000DE7AE /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
--		4B35C4E70D4731D1000DE7AE /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
--		4B35C4E80D4731D1000DE7AE /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
--		4B35C4E90D4731D1000DE7AE /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
- 		4B35C4EB0D4731D1000DE7AE /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; };
- 		4B35C4EC0D4731D1000DE7AE /* JackServerAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F50834EFB000C94B91 /* JackServerAPI.cpp */; };
- 		4B35C4ED0D4731D1000DE7AE /* JackServerGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC216880A444BDE00BDA09F /* JackServerGlobals.cpp */; };
-@@ -322,7 +307,6 @@
- 		4B43A8CB1014605000E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; };
- 		4B43A8DF1014615800E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; };
- 		4B43A8E11014615800E52943 /* JackLoopbackDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B43A8C81014605000E52943 /* JackLoopbackDriver.cpp */; };
--		4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4B47AC8310B5890100469C67 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4B47AC8410B5890100469C67 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -343,7 +327,6 @@
- 		4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
- 		4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
- 		4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
--		4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
- 		4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
- 		4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
- 		4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
-@@ -364,9 +347,6 @@
- 		4B47ACA910B5890100469C67 /* JackMessageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4F9C8B0DC20C0400706CB0 /* JackMessageBuffer.h */; };
- 		4B47ACAA10B5890100469C67 /* JackPosixThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6A30E703B2E0066E42F /* JackPosixThread.h */; };
- 		4B47ACAB10B5890100469C67 /* JackProcessSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BECB2F40F4451C10091B70A /* JackProcessSync.h */; };
--		4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
--		4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
--		4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4B47ACB210B5890100469C67 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -380,7 +360,6 @@
- 		4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
- 		4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
- 		4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
--		4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
- 		4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
- 		4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
- 		4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
-@@ -433,8 +412,8 @@
- 		4B5F253E0DEE9B8F0041E486 /* JackLockedEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */; };
- 		4B60CE490AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; };
- 		4B60CE4A0AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; };
-+		4B6654FC127C350100753A79 /* server_control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6654FB127C350100753A79 /* server_control.cpp */; };
- 		4B699BAA097D421600A18468 /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; };
--		4B699C02097D421600A18468 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4B699C03097D421600A18468 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4B699C04097D421600A18468 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4B699C05097D421600A18468 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -455,13 +434,9 @@
- 		4B699C16097D421600A18468 /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
- 		4B699C17097D421600A18468 /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
- 		4B699C18097D421600A18468 /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
--		4B699C19097D421600A18468 /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
- 		4B699C20097D421600A18468 /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
- 		4B699C21097D421600A18468 /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
- 		4B699C22097D421600A18468 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
--		4B699C25097D421600A18468 /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
--		4B699C26097D421600A18468 /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
--		4B699C27097D421600A18468 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4B699C28097D421600A18468 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4B699C29097D421600A18468 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4B699C2B097D421600A18468 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -475,11 +450,9 @@
- 		4B699C33097D421600A18468 /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
- 		4B699C35097D421600A18468 /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
- 		4B699C36097D421600A18468 /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
--		4B699C37097D421600A18468 /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
- 		4B699C3D097D421600A18468 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
- 		4B699C3F097D421600A18468 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
- 		4B699C40097D421600A18468 /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
--		4B699C4E097D421600A18468 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4B699C4F097D421600A18468 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4B699C50097D421600A18468 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4B699C51097D421600A18468 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -508,11 +481,7 @@
- 		4B699C71097D421600A18468 /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
- 		4B699C73097D421600A18468 /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
- 		4B699C74097D421600A18468 /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
--		4B699C77097D421600A18468 /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
--		4B699C78097D421600A18468 /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
--		4B699C79097D421600A18468 /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
- 		4B699C7B097D421600A18468 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
--		4B699C7E097D421600A18468 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4B699C7F097D421600A18468 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4B699C80097D421600A18468 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4B699C82097D421600A18468 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -534,12 +503,7 @@
- 		4B699C97097D421600A18468 /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
- 		4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
- 		4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
--		4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
- 		4B699C9D097D421600A18468 /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
--		4B699CA1097D421600A18468 /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
--		4B699CA2097D421600A18468 /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
--		4B699CA3097D421600A18468 /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
--		4B699CA4097D421600A18468 /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
- 		4B699CB4097D421600A18468 /* metro.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D16B0834EDF000C94B91 /* metro.c */; };
- 		4B699CC4097D421600A18468 /* lsp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1690834EDE600C94B91 /* lsp.c */; };
- 		4B699CF6097D421600A18468 /* freewheel.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1710834EE0F00C94B91 /* freewheel.c */; };
-@@ -584,6 +548,18 @@
- 		4B88D04411298BEE007A87C1 /* weakmacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03A11298BEE007A87C1 /* weakmacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 		4B88D04511298BEE007A87C1 /* weakjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03911298BEE007A87C1 /* weakjack.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 		4B88D04611298BEE007A87C1 /* weakmacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03A11298BEE007A87C1 /* weakmacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
-+		4B8A38A7117B80D300664E07 /* JackSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AD0E703B8D0066E42F /* JackSocket.cpp */; };
-+		4B8A38A8117B80DA00664E07 /* JackSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6AE0E703B8D0066E42F /* JackSocket.h */; };
-+		4B8A38AD117B810A00664E07 /* JackSocketNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B20E703B8D0066E42F /* JackSocketNotifyChannel.h */; };
-+		4B8A38AE117B811100664E07 /* JackSocketNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B10E703B8D0066E42F /* JackSocketNotifyChannel.cpp */; };
-+		4B8A38B0117B812500664E07 /* JackSocketServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B40E703B8D0066E42F /* JackSocketServerChannel.h */; };
-+		4B8A38B1117B812D00664E07 /* JackSocketServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B30E703B8D0066E42F /* JackSocketServerChannel.cpp */; };
-+		4B8A38B2117B813400664E07 /* JackSocketServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B50E703B8D0066E42F /* JackSocketServerNotifyChannel.cpp */; };
-+		4B8A38C4117B814000664E07 /* JackSocketServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B60E703B8D0066E42F /* JackSocketServerNotifyChannel.h */; };
-+		4B8A38F0117B827900664E07 /* JackSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6AE0E703B8D0066E42F /* JackSocket.h */; };
-+		4B8A38F1117B827E00664E07 /* JackSocketClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AF0E703B8D0066E42F /* JackSocketClientChannel.cpp */; };
-+		4B8A38F6117B82AB00664E07 /* JackSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AD0E703B8D0066E42F /* JackSocket.cpp */; };
-+		4B8A38F7117B82B200664E07 /* JackSocketClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B00E703B8D0066E42F /* JackSocketClientChannel.h */; };
- 		4B93F1990E87992100E4ECCD /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6A20E703B2E0066E42F /* JackPosixThread.cpp */; };
- 		4B93F19A0E87992200E4ECCD /* JackPosixThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6A30E703B2E0066E42F /* JackPosixThread.h */; };
- 		4B93F19C0E87998200E4ECCD /* JackPosixServerLaunch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF5FBBA0E878B9C003D2374 /* JackPosixServerLaunch.cpp */; };
-@@ -604,7 +580,6 @@
- 		4B9A26610DBF8ADD006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
- 		4B9A26640DBF8B14006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
- 		4B9A26790DBF8B88006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
--		4BA3393510B2E36800190E3B /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
- 		4BA3393610B2E36800190E3B /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
- 		4BA3393710B2E36800190E3B /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
- 		4BA3393810B2E36800190E3B /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
-@@ -633,9 +608,6 @@
- 		4BA3394F10B2E36800190E3B /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
- 		4BA3395010B2E36800190E3B /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
- 		4BA3395110B2E36800190E3B /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
--		4BA3395210B2E36800190E3B /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
--		4BA3395310B2E36800190E3B /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
--		4BA3395410B2E36800190E3B /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
- 		4BA3395510B2E36800190E3B /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
- 		4BA3395610B2E36800190E3B /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; };
- 		4BA3395710B2E36800190E3B /* JackServerGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC2168D0A444BED00BDA09F /* JackServerGlobals.h */; };
-@@ -663,7 +635,6 @@
- 		4BA3396D10B2E36800190E3B /* JackMidiDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF339200F8B873E0080FB5B /* JackMidiDriver.h */; };
- 		4BA3396E10B2E36800190E3B /* JackWaitThreadedDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BBC93B90DF9736C002DF220 /* JackWaitThreadedDriver.h */; };
- 		4BA3396F10B2E36800190E3B /* JackArgParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF284170F31B4BC00B05BE3 /* JackArgParser.h */; };
--		4BA3397210B2E36800190E3B /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
- 		4BA3397310B2E36800190E3B /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
- 		4BA3397410B2E36800190E3B /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
- 		4BA3397510B2E36800190E3B /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
-@@ -685,12 +656,7 @@
- 		4BA3398510B2E36800190E3B /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
- 		4BA3398610B2E36800190E3B /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
- 		4BA3398710B2E36800190E3B /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
--		4BA3398810B2E36800190E3B /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
- 		4BA3398910B2E36800190E3B /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
--		4BA3398A10B2E36800190E3B /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
--		4BA3398B10B2E36800190E3B /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
--		4BA3398C10B2E36800190E3B /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
--		4BA3398D10B2E36800190E3B /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
- 		4BA3398E10B2E36800190E3B /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; };
- 		4BA3398F10B2E36800190E3B /* JackServerAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F50834EFB000C94B91 /* JackServerAPI.cpp */; };
- 		4BA3399010B2E36800190E3B /* JackServerGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC216880A444BDE00BDA09F /* JackServerGlobals.cpp */; };
-@@ -1146,6 +1112,13 @@
- 			remoteGlobalIDString = 4B5A1BD00CD1CCE10005BF74;
- 			remoteInfo = jack_midisine;
- 		};
-+		4B66550D127C356E00753A79 /* PBXContainerItemProxy */ = {
-+			isa = PBXContainerItemProxy;
-+			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
-+			proxyType = 1;
-+			remoteGlobalIDString = 4B6654ED127C34AE00753A79;
-+			remoteInfo = "jack_server_control 64 bits";
-+		};
- 		4B699DB3097D421700A18468 /* PBXContainerItemProxy */ = {
- 			isa = PBXContainerItemProxy;
- 			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
-@@ -1497,7 +1470,6 @@
- 		4B37C20406DF1FBE0016E567 /* CALatencyLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CALatencyLog.h; path = /Developer/Examples/CoreAudio/PublicUtility/CALatencyLog.h; sourceTree = "<absolute>"; };
- 		4B37C20906DF1FE20016E567 /* latency.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = latency.c; path = /Developer/Examples/CoreAudio/PublicUtility/latency.c; sourceTree = "<absolute>"; };
- 		4B3F49070AD8503300491C6E /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = ../tests/cpu.c; sourceTree = SOURCE_ROOT; };
--		4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacEngineRPC.cpp; sourceTree = SOURCE_ROOT; };
- 		4B43A8BA10145F6F00E52943 /* jack_loopback.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = jack_loopback.so; sourceTree = BUILT_PRODUCTS_DIR; };
- 		4B43A8C81014605000E52943 /* JackLoopbackDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackLoopbackDriver.cpp; path = ../common/JackLoopbackDriver.cpp; sourceTree = SOURCE_ROOT; };
- 		4B43A8C91014605000E52943 /* JackLoopbackDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackLoopbackDriver.h; path = ../common/JackLoopbackDriver.h; sourceTree = SOURCE_ROOT; };
-@@ -1520,6 +1492,8 @@
- 		4B5E08E00E5B676C00BEE4E0 /* JackNetAdapter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackNetAdapter.h; path = ../common/JackNetAdapter.h; sourceTree = SOURCE_ROOT; };
- 		4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackLockedEngine.h; path = ../common/JackLockedEngine.h; sourceTree = SOURCE_ROOT; };
- 		4B60CE480AAABA31004956AA /* connect.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = connect.c; path = "../example-clients/connect.c"; sourceTree = SOURCE_ROOT; };
-+		4B6654F7127C34AE00753A79 /* jack_server_control */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_server_control; sourceTree = BUILT_PRODUCTS_DIR; };
-+		4B6654FB127C350100753A79 /* server_control.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = server_control.cpp; path = "../example-clients/server_control.cpp"; sourceTree = SOURCE_ROOT; };
- 		4B66A8580934964500A89560 /* JackConstants.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackConstants.h; path = ../common/JackConstants.h; sourceTree = SOURCE_ROOT; };
- 		4B699BB1097D421600A18468 /* jackdmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jackdmp; sourceTree = BUILT_PRODUCTS_DIR; };
- 		4B699C47097D421600A18468 /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-@@ -1549,8 +1523,6 @@
- 		4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackEngineControl.cpp; path = ../common/JackEngineControl.cpp; sourceTree = SOURCE_ROOT; };
- 		4B76C7680E5AB2DB00E2AC21 /* JackNetInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackNetInterface.cpp; path = ../common/JackNetInterface.cpp; sourceTree = SOURCE_ROOT; };
- 		4B76C7690E5AB2DB00E2AC21 /* JackNetInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackNetInterface.h; path = ../common/JackNetInterface.h; sourceTree = SOURCE_ROOT; };
--		4B799AD607899652003F3F15 /* JackMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachPort.cpp; sourceTree = "<group>"; };
--		4B799AD707899652003F3F15 /* JackMachPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachPort.h; sourceTree = "<group>"; };
- 		4B80D7E50BA0D17400F035BB /* JackMidiPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackMidiPort.h; path = ../common/JackMidiPort.h; sourceTree = SOURCE_ROOT; };
- 		4B80D7E60BA0D17400F035BB /* JackMidiPort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiPort.cpp; path = ../common/JackMidiPort.cpp; sourceTree = SOURCE_ROOT; };
- 		4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiAPI.cpp; path = ../common/JackMidiAPI.cpp; sourceTree = SOURCE_ROOT; };
-@@ -1559,8 +1531,6 @@
- 		4B869D7F08C9CB00001CF041 /* JackDriverLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackDriverLoader.cpp; path = ../common/JackDriverLoader.cpp; sourceTree = SOURCE_ROOT; };
- 		4B88D03911298BEE007A87C1 /* weakjack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = weakjack.h; path = ../common/jack/weakjack.h; sourceTree = SOURCE_ROOT; };
- 		4B88D03A11298BEE007A87C1 /* weakmacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = weakmacros.h; path = ../common/jack/weakmacros.h; sourceTree = SOURCE_ROOT; };
--		4B89B759076B731100D170DE /* JackRPCClientUser.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = JackRPCClientUser.c; path = RPC/JackRPCClientUser.c; sourceTree = SOURCE_ROOT; };
--		4B89B769076B74D200D170DE /* JackRPCEngineUser.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = JackRPCEngineUser.c; path = RPC/JackRPCEngineUser.c; sourceTree = SOURCE_ROOT; };
- 		4B940B9B06DDDE5B00D77F60 /* AudioHardware.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AudioHardware.h; path = /System/Library/Frameworks/CoreAudio.framework/Versions/A/Headers/AudioHardware.h; sourceTree = "<absolute>"; };
- 		4B94334910A5E666002A187F /* systemdeps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = systemdeps.h; path = ../common/jack/systemdeps.h; sourceTree = SOURCE_ROOT; };
- 		4B95BCAD0D913073000F7695 /* control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = control.h; path = ../common/jack/control.h; sourceTree = SOURCE_ROOT; };
-@@ -1645,7 +1615,6 @@
- 		4BF339150F8B86DC0080FB5B /* JackCoreMidiDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackCoreMidiDriver.cpp; path = coremidi/JackCoreMidiDriver.cpp; sourceTree = SOURCE_ROOT; };
- 		4BF3391F0F8B873E0080FB5B /* JackMidiDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiDriver.cpp; path = ../common/JackMidiDriver.cpp; sourceTree = SOURCE_ROOT; };
- 		4BF339200F8B873E0080FB5B /* JackMidiDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackMidiDriver.h; path = ../common/JackMidiDriver.h; sourceTree = SOURCE_ROOT; };
--		4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacLibClientRPC.cpp; sourceTree = SOURCE_ROOT; };
- 		4BF4BAB00E3480AB00403CDF /* JackAudioAdapterFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioAdapterFactory.cpp; path = ../common/JackAudioAdapterFactory.cpp; sourceTree = SOURCE_ROOT; };
- 		4BF520520CB8D0E80037470E /* timestamps.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = timestamps.c; path = ../common/timestamps.c; sourceTree = SOURCE_ROOT; };
- 		4BF520580CB8D1010037470E /* timestamps.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = timestamps.h; path = ../common/timestamps.h; sourceTree = SOURCE_ROOT; };
-@@ -1718,14 +1687,6 @@
- 		4BFA82CF0DF6A9E40087B4E1 /* jack_impulse_grabber */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_impulse_grabber; sourceTree = BUILT_PRODUCTS_DIR; };
- 		4BFA99A20AAAF3B0009E916C /* jdelay */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jdelay; sourceTree = BUILT_PRODUCTS_DIR; };
- 		4BFA99A90AAAF40C009E916C /* jdelay.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = jdelay.cpp; path = ../tests/jdelay.cpp; sourceTree = SOURCE_ROOT; };
--		4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachServerNotifyChannel.cpp; sourceTree = "<group>"; };
--		4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachServerChannel.h; sourceTree = "<group>"; };
--		4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachServerChannel.cpp; sourceTree = "<group>"; };
--		4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachServerNotifyChannel.h; sourceTree = "<group>"; };
--		4BFB298708AF450200D450D4 /* JackMachClientChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachClientChannel.h; sourceTree = "<group>"; };
--		4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachNotifyChannel.cpp; sourceTree = "<group>"; };
--		4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachNotifyChannel.h; sourceTree = "<group>"; };
--		4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachClientChannel.cpp; sourceTree = SOURCE_ROOT; };
- 		4BFB73F608AD291A00DB99B8 /* JackGlobals.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackGlobals.h; path = ../common/JackGlobals.h; sourceTree = SOURCE_ROOT; };
- 		4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachThread.cpp; sourceTree = SOURCE_ROOT; };
- 		4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachThread.h; sourceTree = SOURCE_ROOT; };
-@@ -2072,6 +2033,13 @@
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-+		4B6654F1127C34AE00753A79 /* Frameworks */ = {
-+			isa = PBXFrameworksBuildPhase;
-+			buildActionMask = 2147483647;
-+			files = (
-+			);
-+			runOnlyForDeploymentPostprocessing = 0;
-+		};
- 		4B699BAB097D421600A18468 /* Frameworks */ = {
- 			isa = PBXFrameworksBuildPhase;
- 			buildActionMask = 2147483647;
-@@ -2499,6 +2467,7 @@
- 				4B32257B10A3190C00838A8E /* jack_netsource */,
- 				4BA339AC10B2E36800190E3B /* Jackservermp.framework */,
- 				4B47ACD710B5890100469C67 /* Jackmp.framework */,
-+				4B6654F7127C34AE00753A79 /* jack_server_control */,
- 			);
- 			name = Products;
- 			sourceTree = "<group>";
-@@ -2506,6 +2475,7 @@
- 		4B03383E0797E19900686131 /* Simple clients */ = {
- 			isa = PBXGroup;
- 			children = (
-+				4B6654FB127C350100753A79 /* server_control.cpp */,
- 				4B363F750DEB0D7D001F72D9 /* impulse_grabber.c */,
- 				4B363F220DEB0AB0001F72D9 /* monitor_client.c */,
- 				4B363EED0DEB094B001F72D9 /* capture_client.c */,
-@@ -2627,24 +2597,6 @@
- 			name = Additional;
- 			sourceTree = "<group>";
- 		};
--		4B168CA3076A5319005B2802 /* MIG_RPC */ = {
--			isa = PBXGroup;
--			children = (
--				4B89B759076B731100D170DE /* JackRPCClientUser.c */,
--				4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */,
--			);
--			name = MIG_RPC;
--			sourceTree = "<group>";
--		};
--		4B168CA4076A5333005B2802 /* MIG_RPC */ = {
--			isa = PBXGroup;
--			children = (
--				4B89B769076B74D200D170DE /* JackRPCEngineUser.c */,
--				4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */,
--			);
--			name = MIG_RPC;
--			sourceTree = "<group>";
--		};
- 		4B19B3010E23629800DD4A82 /* Adapter */ = {
- 			isa = PBXGroup;
- 			children = (
-@@ -2818,7 +2770,6 @@
- 		4BA550F905E241D900569492 /* Library */ = {
- 			isa = PBXGroup;
- 			children = (
--				4B168CA4076A5333005B2802 /* MIG_RPC */,
- 				4BF8D1FB0834EFD100C94B91 /* JackLibGlobals.h */,
- 				4BF8D1FC0834EFD100C94B91 /* JackLibClient.h */,
- 				4BF8D1FD0834EFD100C94B91 /* JackLibClient.cpp */,
-@@ -2844,7 +2795,6 @@
- 		4BA550FB05E2420000569492 /* Engine */ = {
- 			isa = PBXGroup;
- 			children = (
--				4B168CA3076A5319005B2802 /* MIG_RPC */,
- 				4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */,
- 				4BF8D2130834F02800C94B91 /* JackEngine.h */,
- 				4BF8D2140834F02800C94B91 /* JackEngine.cpp */,
-@@ -2872,7 +2822,6 @@
- 				4BB371D40C1AD85A0050C1E4 /* JackNotification.h */,
- 				4BF8D1B30834EED500C94B91 /* JackInternalClientChannel.h */,
- 				4BFB299908AF452300D450D4 /* Socket */,
--				4BFB299808AF451200D450D4 /* Mach */,
- 			);
- 			name = Channels;
- 			sourceTree = "<group>";
-@@ -2963,23 +2912,6 @@
- 			name = MIDI;
- 			sourceTree = "<group>";
- 		};
--		4BFB299808AF451200D450D4 /* Mach */ = {
--			isa = PBXGroup;
--			children = (
--				4B799AD707899652003F3F15 /* JackMachPort.h */,
--				4B799AD607899652003F3F15 /* JackMachPort.cpp */,
--				4BFB298708AF450200D450D4 /* JackMachClientChannel.h */,
--				4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */,
--				4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */,
--				4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */,
--				4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */,
--				4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */,
--				4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */,
--				4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */,
--			);
--			name = Mach;
--			sourceTree = "<group>";
--		};
- 		4BFB299908AF452300D450D4 /* Socket */ = {
- 			isa = PBXGroup;
- 			children = (
-@@ -3110,7 +3042,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B35C4290D4731D1000DE7AE /* JackMachPort.h in Headers */,
- 				4B35C42A0D4731D1000DE7AE /* JackError.h in Headers */,
- 				4B35C42B0D4731D1000DE7AE /* JackTime.h in Headers */,
- 				4B35C42C0D4731D1000DE7AE /* JackShmMem.h in Headers */,
-@@ -3131,7 +3062,6 @@
- 				4B35C43D0D4731D1000DE7AE /* JackMachSemaphore.h in Headers */,
- 				4B35C43E0D4731D1000DE7AE /* JackGlobals.h in Headers */,
- 				4B35C43F0D4731D1000DE7AE /* JackMachThread.h in Headers */,
--				4B35C4400D4731D1000DE7AE /* JackMachClientChannel.h in Headers */,
- 				4B35C4460D4731D1000DE7AE /* JackSynchro.h in Headers */,
- 				4B35C4470D4731D1000DE7AE /* JackDebugClient.h in Headers */,
- 				4B35C4480D4731D1000DE7AE /* JackConstants.h in Headers */,
-@@ -3154,6 +3084,8 @@
- 				4BECB2FA0F4451C10091B70A /* JackProcessSync.h in Headers */,
- 				4B88D03F11298BEE007A87C1 /* weakjack.h in Headers */,
- 				4B88D04011298BEE007A87C1 /* weakmacros.h in Headers */,
-+				4B8A38F0117B827900664E07 /* JackSocket.h in Headers */,
-+				4B8A38F7117B82B200664E07 /* JackSocketClientChannel.h in Headers */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -3161,7 +3093,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B35C4870D4731D1000DE7AE /* JackMachPort.h in Headers */,
- 				4B35C4880D4731D1000DE7AE /* JackError.h in Headers */,
- 				4B35C4890D4731D1000DE7AE /* JackTime.h in Headers */,
- 				4B35C48A0D4731D1000DE7AE /* JackShmMem.h in Headers */,
-@@ -3190,9 +3121,6 @@
- 				4B35C4A90D4731D1000DE7AE /* JackEngine.h in Headers */,
- 				4B35C4AA0D4731D1000DE7AE /* JackExternalClient.h in Headers */,
- 				4B35C4AB0D4731D1000DE7AE /* JackServer.h in Headers */,
--				4B35C4AE0D4731D1000DE7AE /* JackMachNotifyChannel.h in Headers */,
--				4B35C4AF0D4731D1000DE7AE /* JackMachServerChannel.h in Headers */,
--				4B35C4B00D4731D1000DE7AE /* JackMachServerNotifyChannel.h in Headers */,
- 				4B35C4B20D4731D1000DE7AE /* JackConstants.h in Headers */,
- 				4B35C4B30D4731D1000DE7AE /* JackTransportEngine.h in Headers */,
- 				4B35C4B40D4731D1000DE7AE /* JackServerGlobals.h in Headers */,
-@@ -3226,6 +3154,10 @@
- 				4B88D04411298BEE007A87C1 /* weakmacros.h in Headers */,
- 				4BC2CA5A113C6CB80076717C /* JackNetInterface.h in Headers */,
- 				4BC2CA5C113C6CC00076717C /* JackNetUnixSocket.h in Headers */,
-+				4B8A38A8117B80DA00664E07 /* JackSocket.h in Headers */,
-+				4B8A38AD117B810A00664E07 /* JackSocketNotifyChannel.h in Headers */,
-+				4B8A38B0117B812500664E07 /* JackSocketServerChannel.h in Headers */,
-+				4B8A38C4117B814000664E07 /* JackSocketServerNotifyChannel.h in Headers */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -3464,7 +3396,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */,
- 				4B47AC8310B5890100469C67 /* JackError.h in Headers */,
- 				4B47AC8410B5890100469C67 /* JackTime.h in Headers */,
- 				4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */,
-@@ -3485,7 +3416,6 @@
- 				4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */,
- 				4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */,
- 				4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */,
--				4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */,
- 				4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */,
- 				4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */,
- 				4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */,
-@@ -3536,6 +3466,13 @@
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-+		4B6654EE127C34AE00753A79 /* Headers */ = {
-+			isa = PBXHeadersBuildPhase;
-+			buildActionMask = 2147483647;
-+			files = (
-+			);
-+			runOnlyForDeploymentPostprocessing = 0;
-+		};
- 		4B699BA8097D421600A18468 /* Headers */ = {
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
-@@ -3547,7 +3484,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B699C02097D421600A18468 /* JackMachPort.h in Headers */,
- 				4B699C03097D421600A18468 /* JackError.h in Headers */,
- 				4B699C04097D421600A18468 /* JackTime.h in Headers */,
- 				4B699C05097D421600A18468 /* JackShmMem.h in Headers */,
-@@ -3568,7 +3504,6 @@
- 				4B699C16097D421600A18468 /* JackMachSemaphore.h in Headers */,
- 				4B699C17097D421600A18468 /* JackGlobals.h in Headers */,
- 				4B699C18097D421600A18468 /* JackMachThread.h in Headers */,
--				4B699C19097D421600A18468 /* JackMachClientChannel.h in Headers */,
- 				4B699C20097D421600A18468 /* JackSynchro.h in Headers */,
- 				4B699C21097D421600A18468 /* JackDebugClient.h in Headers */,
- 				4B699C22097D421600A18468 /* JackConstants.h in Headers */,
-@@ -3599,7 +3534,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B699C4E097D421600A18468 /* JackMachPort.h in Headers */,
- 				4B699C4F097D421600A18468 /* JackError.h in Headers */,
- 				4B699C50097D421600A18468 /* JackTime.h in Headers */,
- 				4B699C51097D421600A18468 /* JackShmMem.h in Headers */,
-@@ -3628,9 +3562,6 @@
- 				4B699C71097D421600A18468 /* JackEngine.h in Headers */,
- 				4B699C73097D421600A18468 /* JackExternalClient.h in Headers */,
- 				4B699C74097D421600A18468 /* JackServer.h in Headers */,
--				4B699C77097D421600A18468 /* JackMachNotifyChannel.h in Headers */,
--				4B699C78097D421600A18468 /* JackMachServerChannel.h in Headers */,
--				4B699C79097D421600A18468 /* JackMachServerNotifyChannel.h in Headers */,
- 				4B699C7B097D421600A18468 /* JackConstants.h in Headers */,
- 				4BD4B4D809BACD9600750C0F /* JackTransportEngine.h in Headers */,
- 				4BC2168E0A444BED00BDA09F /* JackServerGlobals.h in Headers */,
-@@ -3784,7 +3715,6 @@
- 			isa = PBXHeadersBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4BA3393510B2E36800190E3B /* JackMachPort.h in Headers */,
- 				4BA3393610B2E36800190E3B /* JackError.h in Headers */,
- 				4BA3393710B2E36800190E3B /* JackTime.h in Headers */,
- 				4BA3393810B2E36800190E3B /* JackShmMem.h in Headers */,
-@@ -3813,9 +3743,6 @@
- 				4BA3394F10B2E36800190E3B /* JackEngine.h in Headers */,
- 				4BA3395010B2E36800190E3B /* JackExternalClient.h in Headers */,
- 				4BA3395110B2E36800190E3B /* JackServer.h in Headers */,
--				4BA3395210B2E36800190E3B /* JackMachNotifyChannel.h in Headers */,
--				4BA3395310B2E36800190E3B /* JackMachServerChannel.h in Headers */,
--				4BA3395410B2E36800190E3B /* JackMachServerNotifyChannel.h in Headers */,
- 				4BA3395510B2E36800190E3B /* JackConstants.h in Headers */,
- 				4BA3395610B2E36800190E3B /* JackTransportEngine.h in Headers */,
- 				4BA3395710B2E36800190E3B /* JackServerGlobals.h in Headers */,
-@@ -4878,6 +4805,25 @@
- 			productReference = 4B5E08D50E5B66EE00BEE4E0 /* netadapter.so */;
- 			productType = "com.apple.product-type.library.dynamic";
- 		};
-+		4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */ = {
-+			isa = PBXNativeTarget;
-+			buildConfigurationList = 4B6654F3127C34AE00753A79 /* Build configuration list for PBXNativeTarget "jack_server_control 64 bits" */;
-+			buildPhases = (
-+				4B6654EE127C34AE00753A79 /* Headers */,
-+				4B6654EF127C34AE00753A79 /* Sources */,
-+				4B6654F1127C34AE00753A79 /* Frameworks */,
-+				4B6654F2127C34AE00753A79 /* Rez */,
-+			);
-+			buildRules = (
-+			);
-+			dependencies = (
-+			);
-+			name = "jack_server_control 64 bits";
-+			productInstallPath = /usr/local/bin;
-+			productName = testSem;
-+			productReference = 4B6654F7127C34AE00753A79 /* jack_server_control */;
-+			productType = "com.apple.product-type.tool";
-+		};
- 		4B699BA7097D421600A18468 /* jackdmp framework Universal */ = {
- 			isa = PBXNativeTarget;
- 			buildConfigurationList = 4B699BAD097D421600A18468 /* Build configuration list for PBXNativeTarget "jackdmp framework Universal" */;
-@@ -5642,6 +5588,7 @@
- 			isa = PBXProject;
- 			buildConfigurationList = 4B699DD5097D427F00A18468 /* Build configuration list for PBXProject "Jackdmp" */;
- 			compatibilityVersion = "Xcode 2.4";
-+			developmentRegion = English;
- 			hasScannedForEncodings = 1;
- 			knownRegions = (
- 				English,
-@@ -5728,6 +5675,7 @@
- 				4BFA82B90DF6A9E40087B4E1 /* jack_showtime 64 bits */,
- 				4BFA82C50DF6A9E40087B4E1 /* jack_impulse_grabber 64 bits */,
- 				4B32257110A3190C00838A8E /* jack_netsource 64 bits */,
-+				4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */,
- 				4B35C5D80D4731D2000DE7AE /* synchroServer 64 bits */,
- 				4B35C5EC0D4731D2000DE7AE /* synchroClient 64 bits */,
- 				4B35C6000D4731D2000DE7AE /* synchroServerClient 64 bits */,
-@@ -6044,6 +5992,13 @@
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-+		4B6654F2127C34AE00753A79 /* Rez */ = {
-+			isa = PBXRezBuildPhase;
-+			buildActionMask = 2147483647;
-+			files = (
-+			);
-+			runOnlyForDeploymentPostprocessing = 0;
-+		};
- 		4B699BAC097D421600A18468 /* Rez */ = {
- 			isa = PBXRezBuildPhase;
- 			buildActionMask = 2147483647;
-@@ -6331,9 +6286,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B35C4580D4731D1000DE7AE /* JackMacLibClientRPC.cpp in Sources */,
--				4B35C4590D4731D1000DE7AE /* JackRPCEngineUser.c in Sources */,
--				4B35C45A0D4731D1000DE7AE /* JackMachPort.cpp in Sources */,
- 				4B35C45B0D4731D1000DE7AE /* JackShmMem.cpp in Sources */,
- 				4B35C45C0D4731D1000DE7AE /* shm.c in Sources */,
- 				4B35C45E0D4731D1000DE7AE /* JackActivationCount.cpp in Sources */,
-@@ -6347,7 +6299,6 @@
- 				4B35C4660D4731D1000DE7AE /* JackFrameTimer.cpp in Sources */,
- 				4B35C4680D4731D1000DE7AE /* JackMachSemaphore.cpp in Sources */,
- 				4B35C4690D4731D1000DE7AE /* JackMachThread.cpp in Sources */,
--				4B35C46A0D4731D1000DE7AE /* JackMachClientChannel.cpp in Sources */,
- 				4B35C4700D4731D1000DE7AE /* JackGlobals.cpp in Sources */,
- 				4B35C4720D4731D1000DE7AE /* ringbuffer.c in Sources */,
- 				4B35C4730D4731D1000DE7AE /* JackDebugClient.cpp in Sources */,
-@@ -6365,6 +6316,8 @@
- 				4B93F19D0E87998400E4ECCD /* JackPosixThread.cpp in Sources */,
- 				4B93F1C00E87A35400E4ECCD /* JackMachTime.c in Sources */,
- 				4BECB2F90F4451C10091B70A /* JackProcessSync.cpp in Sources */,
-+				4B8A38F1117B827E00664E07 /* JackSocketClientChannel.cpp in Sources */,
-+				4B8A38F6117B82AB00664E07 /* JackSocket.cpp in Sources */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -6372,7 +6325,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B35C4C40D4731D1000DE7AE /* JackMachPort.cpp in Sources */,
- 				4B35C4C50D4731D1000DE7AE /* JackShmMem.cpp in Sources */,
- 				4B35C4C60D4731D1000DE7AE /* shm.c in Sources */,
- 				4B35C4C80D4731D1000DE7AE /* JackActivationCount.cpp in Sources */,
-@@ -6394,12 +6346,7 @@
- 				4B35C4DD0D4731D1000DE7AE /* JackEngine.cpp in Sources */,
- 				4B35C4DE0D4731D1000DE7AE /* JackExternalClient.cpp in Sources */,
- 				4B35C4DF0D4731D1000DE7AE /* JackInternalClient.cpp in Sources */,
--				4B35C4E00D4731D1000DE7AE /* JackRPCClientUser.c in Sources */,
- 				4B35C4E20D4731D1000DE7AE /* JackServer.cpp in Sources */,
--				4B35C4E60D4731D1000DE7AE /* JackMacEngineRPC.cpp in Sources */,
--				4B35C4E70D4731D1000DE7AE /* JackMachNotifyChannel.cpp in Sources */,
--				4B35C4E80D4731D1000DE7AE /* JackMachServerChannel.cpp in Sources */,
--				4B35C4E90D4731D1000DE7AE /* JackMachServerNotifyChannel.cpp in Sources */,
- 				4B35C4EB0D4731D1000DE7AE /* JackTransportEngine.cpp in Sources */,
- 				4B35C4EC0D4731D1000DE7AE /* JackServerAPI.cpp in Sources */,
- 				4B35C4ED0D4731D1000DE7AE /* JackServerGlobals.cpp in Sources */,
-@@ -6427,6 +6374,10 @@
- 				4BCBCE6310C4FE3F00450FFE /* JackPhysicalMidiOutput.cpp in Sources */,
- 				4BC2CA59113C6CB60076717C /* JackNetInterface.cpp in Sources */,
- 				4BC2CA5B113C6CBE0076717C /* JackNetUnixSocket.cpp in Sources */,
-+				4B8A38A7117B80D300664E07 /* JackSocket.cpp in Sources */,
-+				4B8A38AE117B811100664E07 /* JackSocketNotifyChannel.cpp in Sources */,
-+				4B8A38B1117B812D00664E07 /* JackSocketServerChannel.cpp in Sources */,
-+				4B8A38B2117B813400664E07 /* JackSocketServerNotifyChannel.cpp in Sources */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -6692,9 +6643,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */,
--				4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */,
--				4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */,
- 				4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */,
- 				4B47ACB210B5890100469C67 /* shm.c in Sources */,
- 				4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */,
-@@ -6708,7 +6656,6 @@
- 				4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */,
- 				4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */,
- 				4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */,
--				4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */,
- 				4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */,
- 				4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */,
- 				4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */,
-@@ -6757,6 +6704,14 @@
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-+		4B6654EF127C34AE00753A79 /* Sources */ = {
-+			isa = PBXSourcesBuildPhase;
-+			buildActionMask = 2147483647;
-+			files = (
-+				4B6654FC127C350100753A79 /* server_control.cpp in Sources */,
-+			);
-+			runOnlyForDeploymentPostprocessing = 0;
-+		};
- 		4B699BA9097D421600A18468 /* Sources */ = {
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
-@@ -6769,9 +6724,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B699C25097D421600A18468 /* JackMacLibClientRPC.cpp in Sources */,
--				4B699C26097D421600A18468 /* JackRPCEngineUser.c in Sources */,
--				4B699C27097D421600A18468 /* JackMachPort.cpp in Sources */,
- 				4B699C28097D421600A18468 /* JackShmMem.cpp in Sources */,
- 				4B699C29097D421600A18468 /* shm.c in Sources */,
- 				4B699C2B097D421600A18468 /* JackActivationCount.cpp in Sources */,
-@@ -6785,7 +6737,6 @@
- 				4B699C33097D421600A18468 /* JackFrameTimer.cpp in Sources */,
- 				4B699C35097D421600A18468 /* JackMachSemaphore.cpp in Sources */,
- 				4B699C36097D421600A18468 /* JackMachThread.cpp in Sources */,
--				4B699C37097D421600A18468 /* JackMachClientChannel.cpp in Sources */,
- 				4B699C3D097D421600A18468 /* JackGlobals.cpp in Sources */,
- 				4B699C3F097D421600A18468 /* ringbuffer.c in Sources */,
- 				4B699C40097D421600A18468 /* JackDebugClient.cpp in Sources */,
-@@ -6810,7 +6761,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4B699C7E097D421600A18468 /* JackMachPort.cpp in Sources */,
- 				4B699C7F097D421600A18468 /* JackShmMem.cpp in Sources */,
- 				4B699C80097D421600A18468 /* shm.c in Sources */,
- 				4B699C82097D421600A18468 /* JackActivationCount.cpp in Sources */,
-@@ -6832,12 +6782,7 @@
- 				4B699C97097D421600A18468 /* JackEngine.cpp in Sources */,
- 				4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */,
- 				4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */,
--				4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */,
- 				4B699C9D097D421600A18468 /* JackServer.cpp in Sources */,
--				4B699CA1097D421600A18468 /* JackMacEngineRPC.cpp in Sources */,
--				4B699CA2097D421600A18468 /* JackMachNotifyChannel.cpp in Sources */,
--				4B699CA3097D421600A18468 /* JackMachServerChannel.cpp in Sources */,
--				4B699CA4097D421600A18468 /* JackMachServerNotifyChannel.cpp in Sources */,
- 				4BD4B4D909BACD9600750C0F /* JackTransportEngine.cpp in Sources */,
- 				4BC216850A444BAD00BDA09F /* JackServerAPI.cpp in Sources */,
- 				4BC216890A444BDE00BDA09F /* JackServerGlobals.cpp in Sources */,
-@@ -6992,7 +6937,6 @@
- 			isa = PBXSourcesBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				4BA3397210B2E36800190E3B /* JackMachPort.cpp in Sources */,
- 				4BA3397310B2E36800190E3B /* JackShmMem.cpp in Sources */,
- 				4BA3397410B2E36800190E3B /* shm.c in Sources */,
- 				4BA3397510B2E36800190E3B /* JackActivationCount.cpp in Sources */,
-@@ -7014,12 +6958,7 @@
- 				4BA3398510B2E36800190E3B /* JackEngine.cpp in Sources */,
- 				4BA3398610B2E36800190E3B /* JackExternalClient.cpp in Sources */,
- 				4BA3398710B2E36800190E3B /* JackInternalClient.cpp in Sources */,
--				4BA3398810B2E36800190E3B /* JackRPCClientUser.c in Sources */,
- 				4BA3398910B2E36800190E3B /* JackServer.cpp in Sources */,
--				4BA3398A10B2E36800190E3B /* JackMacEngineRPC.cpp in Sources */,
--				4BA3398B10B2E36800190E3B /* JackMachNotifyChannel.cpp in Sources */,
--				4BA3398C10B2E36800190E3B /* JackMachServerChannel.cpp in Sources */,
--				4BA3398D10B2E36800190E3B /* JackMachServerNotifyChannel.cpp in Sources */,
- 				4BA3398E10B2E36800190E3B /* JackTransportEngine.cpp in Sources */,
- 				4BA3398F10B2E36800190E3B /* JackServerAPI.cpp in Sources */,
- 				4BA3399010B2E36800190E3B /* JackServerGlobals.cpp in Sources */,
-@@ -7438,6 +7377,11 @@
- 			target = 4B5A1BD00CD1CCE10005BF74 /* jack_midisine Universal */;
- 			targetProxy = 4B5A1BE10CD1CD730005BF74 /* PBXContainerItemProxy */;
- 		};
-+		4B66550E127C356E00753A79 /* PBXTargetDependency */ = {
-+			isa = PBXTargetDependency;
-+			target = 4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */;
-+			targetProxy = 4B66550D127C356E00753A79 /* PBXContainerItemProxy */;
-+		};
- 		4B699DB4097D421700A18468 /* PBXTargetDependency */ = {
- 			isa = PBXTargetDependency;
- 			target = 4B699C4C097D421600A18468 /* Jackservermp.framework Universal */;
-@@ -8155,6 +8099,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DHAVE_CELT",
- 					"-DHAVE_CELT_API_0_7",
- 					"-DMACH_RPC_MACH_SEMA",
-@@ -10913,6 +10858,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -11210,6 +11156,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -12374,6 +12321,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -12971,6 +12919,94 @@
- 			};
- 			name = Default;
- 		};
-+		4B6654F4127C34AE00753A79 /* Development */ = {
-+			isa = XCBuildConfiguration;
-+			buildSettings = {
-+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
-+				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
-+				COPY_PHASE_STRIP = NO;
-+				GCC_DYNAMIC_NO_PIC = NO;
-+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
-+				GCC_OPTIMIZATION_LEVEL = 0;
-+				HEADER_SEARCH_PATHS = ../common;
-+				OTHER_CFLAGS = "";
-+				OTHER_LDFLAGS = (
-+					"-framework",
-+					Jackservermp,
-+				);
-+				OTHER_REZFLAGS = "";
-+				PRODUCT_NAME = jack_test;
-+				REZ_EXECUTABLE = YES;
-+				SDKROOT = "";
-+				SECTORDER_FLAGS = "";
-+				WARNING_CFLAGS = (
-+					"-Wmost",
-+					"-Wno-four-char-constants",
-+					"-Wno-unknown-pragmas",
-+				);
-+				ZERO_LINK = YES;
-+			};
-+			name = Development;
-+		};
-+		4B6654F5127C34AE00753A79 /* Deployment */ = {
-+			isa = XCBuildConfiguration;
-+			buildSettings = {
-+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
-+				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
-+				COPY_PHASE_STRIP = YES;
-+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-+				GCC_OPTIMIZATION_LEVEL = 3;
-+				HEADER_SEARCH_PATHS = ../common;
-+				MACOSX_DEPLOYMENT_TARGET = 10.4;
-+				OTHER_CFLAGS = "";
-+				OTHER_LDFLAGS = (
-+					"-framework",
-+					Jackservermp,
-+				);
-+				OTHER_REZFLAGS = "";
-+				PRODUCT_NAME = jack_server_control;
-+				REZ_EXECUTABLE = YES;
-+				SDKROOT = "";
-+				SECTORDER_FLAGS = "";
-+				WARNING_CFLAGS = (
-+					"-Wmost",
-+					"-Wno-four-char-constants",
-+					"-Wno-unknown-pragmas",
-+				);
-+				ZERO_LINK = NO;
-+			};
-+			name = Deployment;
-+		};
-+		4B6654F6127C34AE00753A79 /* Default */ = {
-+			isa = XCBuildConfiguration;
-+			buildSettings = {
-+				ARCHS = (
-+					ppc64,
-+					ppc,
-+					i386,
-+					x86_64,
-+				);
-+				GCC_OPTIMIZATION_LEVEL = 3;
-+				HEADER_SEARCH_PATHS = ../common;
-+				OTHER_CFLAGS = "";
-+				OTHER_LDFLAGS = (
-+					"-framework",
-+					Jackmp,
-+				);
-+				OTHER_REZFLAGS = "";
-+				PRODUCT_NAME = jack_test;
-+				REZ_EXECUTABLE = YES;
-+				SDKROOT = "";
-+				SECTORDER_FLAGS = "";
-+				WARNING_CFLAGS = (
-+					"-Wmost",
-+					"-Wno-four-char-constants",
-+					"-Wno-unknown-pragmas",
-+				);
-+			};
-+			name = Default;
-+		};
- 		4B699B34097D421600A18468 /* Development */ = {
- 			isa = XCBuildConfiguration;
- 			buildSettings = {
-@@ -15963,6 +15999,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -16107,6 +16144,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -16247,7 +16285,10 @@
- 				MACH_O_TYPE = mh_dylib;
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
--				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
-+				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
-+					"$(OTHER_CFLAGS)",
-+				);
- 				OTHER_LDFLAGS = (
- 					"-framework",
- 					Jackservermp,
-@@ -16390,7 +16431,10 @@
- 				MACH_O_TYPE = mh_dylib;
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
--				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
-+				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
-+					"$(OTHER_CFLAGS)",
-+				);
- 				OTHER_LDFLAGS = (
- 					/opt/local/lib/libsamplerate.a,
- 					"-framework",
-@@ -16535,6 +16579,7 @@
- 				MACOSX_DEPLOYMENT_TARGET = 10.4;
- 				OTHER_CFLAGS = "-DJACK_32_64";
- 				OTHER_CPLUSPLUSFLAGS = (
-+					"-DSERVER_SIDE",
- 					"-DMACH_RPC_MACH_SEMA",
- 					"-DJACK_32_64",
- 				);
-@@ -18471,6 +18516,16 @@
- 			);
- 			defaultConfigurationIsVisible = 0;
- 			defaultConfigurationName = Default;
-+		};
-+		4B6654F3127C34AE00753A79 /* Build configuration list for PBXNativeTarget "jack_server_control 64 bits" */ = {
-+			isa = XCConfigurationList;
-+			buildConfigurations = (
-+				4B6654F4127C34AE00753A79 /* Development */,
-+				4B6654F5127C34AE00753A79 /* Deployment */,
-+				4B6654F6127C34AE00753A79 /* Default */,
-+			);
-+			defaultConfigurationIsVisible = 0;
-+			defaultConfigurationName = Default;
- 		};
- 		4B699B33097D421600A18468 /* Build configuration list for PBXAggregateTarget "All Universal 32 bits" */ = {
- 			isa = XCConfigurationList;
---- a/macosx/RPC/JackRPCClient.defs
+-
+--- a/macosx/RPC/Jackdefs.h
 +++ /dev/null
-@@ -1,47 +0,0 @@
+@@ -1,25 +0,0 @@
 -/*
-- 	Copyright (C) 2004 Grame
--    
--    This program is free software; you can redistribute it and/or modify
--    it under the terms of the GNU Lesser General Public License as published by
--    the Free Software Foundation; either version 2.1 of the License, or
--    (at your option) any later version.
--    
--    This program 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 Lesser General Public License for more details.
--    
--    You should have received a copy of the GNU Lesser General Public License
--    along with this program; if not, write to the Free Software 
--    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
--*/
+-Copyright (C) 2004-2006 Grame
 -
--subsystem  JackRPCClient 1000;
+-This program 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 of the License, or
+-(at your option) any later version.
 -
--#include <mach/std_types.defs>
--#include <mach/mach_types.defs>
--import "Jackdefs.h";
--waittime 5000;
+-This program 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.
 -
--type client_name_t = c_string[64];
--type message_t = c_string[256];
+-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., 675 Mass Ave, Cambridge, MA 02139, USA.
 -
--routine rpc_jack_client_sync_notify(
--	client_port	: mach_port_t;
--	refnum		: int;
--	client_name	: client_name_t;
--	notify		: int;
--	message		: message_t;
--	value1		: int;
--	value2		: int;
--    out result : int);
+-*/
 -
--simpleroutine rpc_jack_client_async_notify(
--	client_port	: mach_port_t;
--	refnum		: int;
--	client_name	: client_name_t;
--	notify		: int;
--	message		: message_t;
--	value1		: int;
--	value2		: int);
+-typedef char client_name_t[64];
+-typedef char client_port_name_t[128];
+-typedef char client_port_type_t[128];
+-typedef char so_name_t[256];
+-typedef char objet_data_t[256];
+-typedef char message_t[256];
 --- a/macosx/RPC/JackRPCClient.h
 +++ /dev/null
 @@ -1,194 +0,0 @@
@@ -7978,6 +7105,6495 @@ Forwarded: not-needed
 -#endif /* __AfterMigUserHeader */
 -
 -#endif	 /* _JackRPCClient_user_ */
+--- a/macosx/RPC/JackRPCEngine.defs
++++ /dev/null
+@@ -1,181 +0,0 @@
+-/*
+- 	Copyright (C) 2004 Grame
+-    
+-    This program is free software; you can redistribute it and/or modify
+-    it under the terms of the GNU Lesser General Public License as published by
+-    the Free Software Foundation; either version 2.1 of the License, or
+-    (at your option) any later version.
+-    
+-    This program 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 Lesser General Public License for more details.
+-    
+-    You should have received a copy of the GNU Lesser General Public License
+-    along with this program; if not, write to the Free Software 
+-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-subsystem  JackRPCEngine 1000;
+-
+-#include <mach/std_types.defs>
+-#include <mach/mach_types.defs>
+-import "Jackdefs.h";
+-
+-ServerPrefix server_;
+-
+-type client_name_t = c_string[64];
+-type client_port_name_t = c_string[128];
+-type client_port_type_t = c_string[128];
+-type so_name_t = c_string[256];
+-type objet_data_t = c_string[256];
+-
+-routine rpc_jack_client_open(
+-	server_port	: mach_port_t;
+-	client_name	: client_name_t;
+-    	pid         : int;
+-	out private_port : mach_port_make_send_t;
+-	out shared_engine : int;
+-	out shared_client : int;
+-	out shared_graph : int;
+-	out result : int);
+-
+-routine rpc_jack_client_check(
+-	server_port	: mach_port_t;
+-	client_name	: client_name_t;
+-	out client_name_res	: client_name_t;
+-	protocol	: int;
+-	options		: int;
+-	out status	: int;
+-	out result : int);
+-
+-routine  rpc_jack_client_close(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	out result 	: int);
+-    
+-routine  rpc_jack_client_activate(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-    	state		: int;
+-	out result 	: int);
+-
+-routine  rpc_jack_client_deactivate(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	out result 	: int);
+-
+-routine rpc_jack_port_register(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	name		: client_port_name_t;
+-	port_type	: client_port_type_t;
+-	flags		: unsigned;
+-	buffer_size : unsigned;
+-	out port_index : unsigned;
+-	out result 	: int);
+-	
+-routine rpc_jack_port_unregister(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	port		: int;
+-	out result 	: int);	
+-	
+-routine rpc_jack_port_connect(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	src         	: int;
+-	dst         	: int;
+-	out result 	: int);
+-	
+-routine rpc_jack_port_disconnect(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	src         	: int;
+-	dst         	: int;
+-	out result 	: int);
+-    
+-routine rpc_jack_port_connect_name(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	src         	: client_port_name_t;
+-	dst         	: client_port_name_t;
+-	out result 	: int);
+-	
+-routine rpc_jack_port_disconnect_name(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	src         	: client_port_name_t;
+-	dst         	: client_port_name_t;
+-	out result 	: int);
+-	
+-routine rpc_jack_port_rename(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	src         	: int;
+-	name        	: client_port_name_t;
+-	out result 	: int);
+-
+-routine rpc_jack_set_buffer_size(
+-	server_port	: mach_port_t;
+-	buffer_size 	: int;
+-	out result 	: int);
+-	
+-routine rpc_jack_set_freewheel(
+-	server_port	: mach_port_t;
+-	onoff		: int;
+-	out result 	: int);
+-
+-routine rpc_jack_release_timebase(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	out result 	: int);
+-	
+-routine rpc_jack_set_timebase_callback(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	conditional	: int;
+-	out result 	: int);
+-	
+-routine rpc_jack_get_internal_clientname(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	int_ref		: int;
+-	out client_name_res	: client_name_t;
+-	out result 	: int);
+-	
+-routine rpc_jack_internal_clienthandle(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	client_name	: client_name_t;
+-	out int_ref 	: int;
+-	out status	: int;
+-	out result 	: int);
+-	
+-routine rpc_jack_internal_clientload(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	client_name	: client_name_t;
+-	so_name		: so_name_t;
+-	objet_data	: objet_data_t;
+-	options		: int;
+-	out status	: int;
+-	out int_ref 	: int;
+-	out result	: int);
+-	
+-routine rpc_jack_internal_clientunload(
+-	server_port	: mach_port_t;
+-	refnum		: int;
+-	int_ref		: int;
+-	out status	: int;
+-	out result 	: int);
+-
+-simpleroutine rpc_jack_client_rt_notify(
+-	client_port	: mach_port_t;
+-	refnum		: int;
+-	notify		: int;
+-    	value		: int;
+-	waittime timeout : int);
+-
+-	
+--- a/macosx/RPC/JackRPCEngineUser.c
++++ /dev/null
+@@ -1,6302 +0,0 @@
+-/*
+- * IDENTIFICATION:
+- * stub generated Fri Oct 23 10:35:08 2009
+- * with a MiG generated Mon May 18 09:59:33 PDT 2009 by root at sulitlana.apple.com
+- * OPTIONS: 
+- */
+-#define	__MIG_check__Reply__JackRPCEngine_subsystem__ 1
+-#define	__NDR_convert__Reply__JackRPCEngine_subsystem__ 1
+-#define	__NDR_convert__mig_reply_error_subsystem__ 1
+-
+-#include "JackRPCEngine.h"
+-
+-
+-#ifndef	mig_internal
+-#define	mig_internal	static __inline__
+-#endif	/* mig_internal */
+-
+-#ifndef	mig_external
+-#define mig_external
+-#endif	/* mig_external */
+-
+-#if	!defined(__MigTypeCheck) && defined(TypeCheck)
+-#define	__MigTypeCheck		TypeCheck	/* Legacy setting */
+-#endif	/* !defined(__MigTypeCheck) */
+-
+-#if	!defined(__MigKernelSpecificCode) && defined(_MIG_KERNEL_SPECIFIC_CODE_)
+-#define	__MigKernelSpecificCode	_MIG_KERNEL_SPECIFIC_CODE_	/* Legacy setting */
+-#endif	/* !defined(__MigKernelSpecificCode) */
+-
+-#ifndef	LimitCheck
+-#define	LimitCheck 0
+-#endif	/* LimitCheck */
+-
+-#ifndef	min
+-#define	min(a,b)  ( ((a) < (b))? (a): (b) )
+-#endif	/* min */
+-
+-#if !defined(_WALIGN_)
+-#define _WALIGN_(x) (((x) + 3) & ~3)
+-#endif /* !defined(_WALIGN_) */
+-
+-#if !defined(_WALIGNSZ_)
+-#define _WALIGNSZ_(x) _WALIGN_(sizeof(x))
+-#endif /* !defined(_WALIGNSZ_) */
+-
+-#ifndef	UseStaticTemplates
+-#define	UseStaticTemplates	0
+-#endif	/* UseStaticTemplates */
+-
+-#ifndef	__MachMsgErrorWithTimeout
+-#define	__MachMsgErrorWithTimeout(_R_) { \
+-	switch (_R_) { \
+-	case MACH_SEND_INVALID_DATA: \
+-	case MACH_SEND_INVALID_DEST: \
+-	case MACH_SEND_INVALID_HEADER: \
+-		mig_put_reply_port(InP->Head.msgh_reply_port); \
+-		break; \
+-	case MACH_SEND_TIMED_OUT: \
+-	case MACH_RCV_TIMED_OUT: \
+-	default: \
+-		mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
+-	} \
+-}
+-#endif	/* __MachMsgErrorWithTimeout */
+-
+-#ifndef	__MachMsgErrorWithoutTimeout
+-#define	__MachMsgErrorWithoutTimeout(_R_) { \
+-	switch (_R_) { \
+-	case MACH_SEND_INVALID_DATA: \
+-	case MACH_SEND_INVALID_DEST: \
+-	case MACH_SEND_INVALID_HEADER: \
+-		mig_put_reply_port(InP->Head.msgh_reply_port); \
+-		break; \
+-	default: \
+-		mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
+-	} \
+-}
+-#endif	/* __MachMsgErrorWithoutTimeout */
+-
+-#ifndef	__DeclareSendRpc
+-#define	__DeclareSendRpc(_NUM_, _NAME_)
+-#endif	/* __DeclareSendRpc */
+-
+-#ifndef	__BeforeSendRpc
+-#define	__BeforeSendRpc(_NUM_, _NAME_)
+-#endif	/* __BeforeSendRpc */
+-
+-#ifndef	__AfterSendRpc
+-#define	__AfterSendRpc(_NUM_, _NAME_)
+-#endif	/* __AfterSendRpc */
+-
+-#ifndef	__DeclareSendSimple
+-#define	__DeclareSendSimple(_NUM_, _NAME_)
+-#endif	/* __DeclareSendSimple */
+-
+-#ifndef	__BeforeSendSimple
+-#define	__BeforeSendSimple(_NUM_, _NAME_)
+-#endif	/* __BeforeSendSimple */
+-
+-#ifndef	__AfterSendSimple
+-#define	__AfterSendSimple(_NUM_, _NAME_)
+-#endif	/* __AfterSendSimple */
+-
+-#define msgh_request_port	msgh_remote_port
+-#define msgh_reply_port		msgh_local_port
+-
+-
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_open_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_open_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_open_t(__Reply__rpc_jack_client_open_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_client_open_t __Reply;
+-	boolean_t msgh_simple;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1100) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-	msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX);
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 ||
+-	    msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	    (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	    ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (msgh_simple) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	__MigTypeCheck
+-	if (Out0P->private_port.type != MACH_MSG_PORT_DESCRIPTOR ||
+-	    Out0P->private_port.disposition != 17) {
+-		return MIG_TYPE_ERROR;
+-	}
+-#endif	/* __MigTypeCheck */
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_open_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_client_open */
+-mig_external kern_return_t rpc_jack_client_open
+-(
+-	mach_port_t server_port,
+-	client_name_t client_name,
+-	int pid,
+-	mach_port_t *private_port,
+-	int *shared_engine,
+-	int *shared_client,
+-	int *shared_graph,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		client_name_t client_name;
+-		int pid;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		/* start of the kernel processed data */
+-		mach_msg_body_t msgh_body;
+-		mach_msg_port_descriptor_t private_port;
+-		/* end of the kernel processed data */
+-		NDR_record_t NDR;
+-		int shared_engine;
+-		int shared_client;
+-		int shared_graph;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		/* start of the kernel processed data */
+-		mach_msg_body_t msgh_body;
+-		mach_msg_port_descriptor_t private_port;
+-		/* end of the kernel processed data */
+-		NDR_record_t NDR;
+-		int shared_engine;
+-		int shared_client;
+-		int shared_graph;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_open_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_open_t__defined */
+-
+-	__DeclareSendRpc(1000, "rpc_jack_client_open")
+-
+-	InP->NDR = NDR_record;
+-
+-	(void) mig_strncpy(InP->client_name, client_name, 64);
+-
+-	InP->pid = pid;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1000;
+-
+-	__BeforeSendRpc(1000, "rpc_jack_client_open")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1000, "rpc_jack_client_open")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_client_open_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_open_t((__Reply__rpc_jack_client_open_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_open_t__defined) */
+-
+-	*private_port = Out0P->private_port.name;
+-	*shared_engine = Out0P->shared_engine;
+-
+-	*shared_client = Out0P->shared_client;
+-
+-	*shared_graph = Out0P->shared_graph;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_check_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_check_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__client_name_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__int_rep__string__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__client_name_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__char_rep__string__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__client_name_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__float_rep__string__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_check_t(__Reply__rpc_jack_client_check_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_client_check_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1101) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_check_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_client_check */
+-mig_external kern_return_t rpc_jack_client_check
+-(
+-	mach_port_t server_port,
+-	client_name_t client_name,
+-	client_name_t client_name_res,
+-	int protocol,
+-	int options,
+-	int *status,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		client_name_t client_name;
+-		int protocol;
+-		int options;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		client_name_t client_name_res;
+-		int status;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		client_name_t client_name_res;
+-		int status;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_check_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_check_t__defined */
+-
+-	__DeclareSendRpc(1001, "rpc_jack_client_check")
+-
+-	InP->NDR = NDR_record;
+-
+-	(void) mig_strncpy(InP->client_name, client_name, 64);
+-
+-	InP->protocol = protocol;
+-
+-	InP->options = options;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1001;
+-
+-	__BeforeSendRpc(1001, "rpc_jack_client_check")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1001, "rpc_jack_client_check")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_client_check_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_check_t((__Reply__rpc_jack_client_check_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_check_t__defined) */
+-
+-	(void) mig_strncpy(client_name_res, Out0P->client_name_res, 64);
+-
+-	*status = Out0P->status;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_close_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_close_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_close_t(__Reply__rpc_jack_client_close_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_client_close_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1102) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_close_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_client_close */
+-mig_external kern_return_t rpc_jack_client_close
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_close_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_close_t__defined */
+-
+-	__DeclareSendRpc(1002, "rpc_jack_client_close")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1002;
+-
+-	__BeforeSendRpc(1002, "rpc_jack_client_close")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1002, "rpc_jack_client_close")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_client_close_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_close_t((__Reply__rpc_jack_client_close_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_close_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_activate_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_activate_t(__Reply__rpc_jack_client_activate_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_client_activate_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1103) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_client_activate */
+-mig_external kern_return_t rpc_jack_client_activate
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int state,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int state;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_activate_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_activate_t__defined */
+-
+-	__DeclareSendRpc(1003, "rpc_jack_client_activate")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->state = state;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1003;
+-
+-	__BeforeSendRpc(1003, "rpc_jack_client_activate")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1003, "rpc_jack_client_activate")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_activate_t((__Reply__rpc_jack_client_activate_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_deactivate_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_deactivate_t(__Reply__rpc_jack_client_deactivate_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_client_deactivate_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1104) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_client_deactivate */
+-mig_external kern_return_t rpc_jack_client_deactivate
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_deactivate_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_deactivate_t__defined */
+-
+-	__DeclareSendRpc(1004, "rpc_jack_client_deactivate")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1004;
+-
+-	__BeforeSendRpc(1004, "rpc_jack_client_deactivate")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1004, "rpc_jack_client_deactivate")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_deactivate_t((__Reply__rpc_jack_client_deactivate_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_register_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_register_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__unsigned__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__unsigned__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__int_rep__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__uint32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__uint32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__int_rep__uint32_t((uint32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__unsigned__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__unsigned__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__char_rep__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__uint32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__uint32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__char_rep__uint32_t((uint32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__unsigned__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__unsigned__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__float_rep__unsigned((unsigned *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__uint32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__uint32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
+-	__NDR_convert__float_rep__uint32_t((uint32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_register_t(__Reply__rpc_jack_port_register_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_register_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1105) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_register_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_register */
+-mig_external kern_return_t rpc_jack_port_register
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	client_port_name_t name,
+-	client_port_type_t port_type,
+-	unsigned flags,
+-	unsigned buffer_size,
+-	unsigned *port_index,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		client_port_name_t name;
+-		client_port_type_t port_type;
+-		unsigned flags;
+-		unsigned buffer_size;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		unsigned port_index;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		unsigned port_index;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_register_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_register_t__defined */
+-
+-	__DeclareSendRpc(1005, "rpc_jack_port_register")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	(void) mig_strncpy(InP->name, name, 128);
+-
+-	(void) mig_strncpy(InP->port_type, port_type, 128);
+-
+-	InP->flags = flags;
+-
+-	InP->buffer_size = buffer_size;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1005;
+-
+-	__BeforeSendRpc(1005, "rpc_jack_port_register")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1005, "rpc_jack_port_register")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_register_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_register_t((__Reply__rpc_jack_port_register_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_register_t__defined) */
+-
+-	*port_index = Out0P->port_index;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_unregister_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_unregister_t(__Reply__rpc_jack_port_unregister_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_unregister_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1106) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_unregister */
+-mig_external kern_return_t rpc_jack_port_unregister
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int port,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int port;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_unregister_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_unregister_t__defined */
+-
+-	__DeclareSendRpc(1006, "rpc_jack_port_unregister")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->port = port;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1006;
+-
+-	__BeforeSendRpc(1006, "rpc_jack_port_unregister")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1006, "rpc_jack_port_unregister")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_unregister_t((__Reply__rpc_jack_port_unregister_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_connect_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_connect_t(__Reply__rpc_jack_port_connect_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_connect_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1107) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_connect */
+-mig_external kern_return_t rpc_jack_port_connect
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int src,
+-	int dst,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int src;
+-		int dst;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_connect_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_connect_t__defined */
+-
+-	__DeclareSendRpc(1007, "rpc_jack_port_connect")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->src = src;
+-
+-	InP->dst = dst;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1007;
+-
+-	__BeforeSendRpc(1007, "rpc_jack_port_connect")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1007, "rpc_jack_port_connect")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_connect_t((__Reply__rpc_jack_port_connect_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_disconnect_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_disconnect_t(__Reply__rpc_jack_port_disconnect_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_disconnect_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1108) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_disconnect */
+-mig_external kern_return_t rpc_jack_port_disconnect
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int src,
+-	int dst,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int src;
+-		int dst;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_disconnect_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_disconnect_t__defined */
+-
+-	__DeclareSendRpc(1008, "rpc_jack_port_disconnect")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->src = src;
+-
+-	InP->dst = dst;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1008;
+-
+-	__BeforeSendRpc(1008, "rpc_jack_port_disconnect")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1008, "rpc_jack_port_disconnect")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_disconnect_t((__Reply__rpc_jack_port_disconnect_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_connect_name_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_connect_name_t(__Reply__rpc_jack_port_connect_name_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_connect_name_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1109) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_connect_name */
+-mig_external kern_return_t rpc_jack_port_connect_name
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	client_port_name_t src,
+-	client_port_name_t dst,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		client_port_name_t src;
+-		client_port_name_t dst;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_connect_name_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_connect_name_t__defined */
+-
+-	__DeclareSendRpc(1009, "rpc_jack_port_connect_name")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	(void) mig_strncpy(InP->src, src, 128);
+-
+-	(void) mig_strncpy(InP->dst, dst, 128);
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1009;
+-
+-	__BeforeSendRpc(1009, "rpc_jack_port_connect_name")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1009, "rpc_jack_port_connect_name")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_connect_name_t((__Reply__rpc_jack_port_connect_name_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_disconnect_name_t(__Reply__rpc_jack_port_disconnect_name_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_disconnect_name_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1110) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_disconnect_name */
+-mig_external kern_return_t rpc_jack_port_disconnect_name
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	client_port_name_t src,
+-	client_port_name_t dst,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		client_port_name_t src;
+-		client_port_name_t dst;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined */
+-
+-	__DeclareSendRpc(1010, "rpc_jack_port_disconnect_name")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	(void) mig_strncpy(InP->src, src, 128);
+-
+-	(void) mig_strncpy(InP->dst, dst, 128);
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1010;
+-
+-	__BeforeSendRpc(1010, "rpc_jack_port_disconnect_name")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1010, "rpc_jack_port_disconnect_name")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_disconnect_name_t((__Reply__rpc_jack_port_disconnect_name_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined)
+-#define __MIG_check__Reply__rpc_jack_port_rename_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_rename_t(__Reply__rpc_jack_port_rename_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_port_rename_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1111) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_port_rename */
+-mig_external kern_return_t rpc_jack_port_rename
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int src,
+-	client_port_name_t name,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int src;
+-		client_port_name_t name;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_port_rename_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_port_rename_t__defined */
+-
+-	__DeclareSendRpc(1011, "rpc_jack_port_rename")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->src = src;
+-
+-	(void) mig_strncpy(InP->name, name, 128);
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1011;
+-
+-	__BeforeSendRpc(1011, "rpc_jack_port_rename")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1011, "rpc_jack_port_rename")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_port_rename_t((__Reply__rpc_jack_port_rename_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined)
+-#define __MIG_check__Reply__rpc_jack_set_buffer_size_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_buffer_size_t(__Reply__rpc_jack_set_buffer_size_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_set_buffer_size_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1112) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_set_buffer_size */
+-mig_external kern_return_t rpc_jack_set_buffer_size
+-(
+-	mach_port_t server_port,
+-	int buffer_size,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int buffer_size;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_set_buffer_size_t__defined */
+-
+-	__DeclareSendRpc(1012, "rpc_jack_set_buffer_size")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->buffer_size = buffer_size;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1012;
+-
+-	__BeforeSendRpc(1012, "rpc_jack_set_buffer_size")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1012, "rpc_jack_set_buffer_size")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_set_buffer_size_t((__Reply__rpc_jack_set_buffer_size_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined)
+-#define __MIG_check__Reply__rpc_jack_set_freewheel_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_freewheel_t(__Reply__rpc_jack_set_freewheel_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_set_freewheel_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1113) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_set_freewheel */
+-mig_external kern_return_t rpc_jack_set_freewheel
+-(
+-	mach_port_t server_port,
+-	int onoff,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int onoff;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_set_freewheel_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_set_freewheel_t__defined */
+-
+-	__DeclareSendRpc(1013, "rpc_jack_set_freewheel")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->onoff = onoff;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1013;
+-
+-	__BeforeSendRpc(1013, "rpc_jack_set_freewheel")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1013, "rpc_jack_set_freewheel")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_set_freewheel_t((__Reply__rpc_jack_set_freewheel_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined)
+-#define __MIG_check__Reply__rpc_jack_release_timebase_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_release_timebase_t(__Reply__rpc_jack_release_timebase_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_release_timebase_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1114) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_release_timebase */
+-mig_external kern_return_t rpc_jack_release_timebase
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_release_timebase_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_release_timebase_t__defined */
+-
+-	__DeclareSendRpc(1014, "rpc_jack_release_timebase")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1014;
+-
+-	__BeforeSendRpc(1014, "rpc_jack_release_timebase")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1014, "rpc_jack_release_timebase")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_release_timebase_t((__Reply__rpc_jack_release_timebase_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined)
+-#define __MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_timebase_callback_t(__Reply__rpc_jack_set_timebase_callback_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_set_timebase_callback_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1115) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_set_timebase_callback */
+-mig_external kern_return_t rpc_jack_set_timebase_callback
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int conditional,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int conditional;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined */
+-
+-	__DeclareSendRpc(1015, "rpc_jack_set_timebase_callback")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->conditional = conditional;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1015;
+-
+-	__BeforeSendRpc(1015, "rpc_jack_set_timebase_callback")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1015, "rpc_jack_set_timebase_callback")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_set_timebase_callback_t((__Reply__rpc_jack_set_timebase_callback_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined) */
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined)
+-#define __MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__client_name_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__int_rep__string__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__int_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__client_name_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__char_rep__string__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__char_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__client_name_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__client_name_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__client_name_t((client_name_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__string__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__string(a, f, 64)
+-#elif	defined(__NDR_convert__float_rep__string__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
+-	__NDR_convert__float_rep__string(a, f, 64)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_get_internal_clientname_t(__Reply__rpc_jack_get_internal_clientname_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_get_internal_clientname_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1116) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_get_internal_clientname */
+-mig_external kern_return_t rpc_jack_get_internal_clientname
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int int_ref,
+-	client_name_t client_name_res,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int int_ref;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		client_name_t client_name_res;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		client_name_t client_name_res;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined */
+-
+-	__DeclareSendRpc(1016, "rpc_jack_get_internal_clientname")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->int_ref = int_ref;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1016;
+-
+-	__BeforeSendRpc(1016, "rpc_jack_get_internal_clientname")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1016, "rpc_jack_get_internal_clientname")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_get_internal_clientname_t((__Reply__rpc_jack_get_internal_clientname_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined) */
+-
+-	(void) mig_strncpy(client_name_res, Out0P->client_name_res, 64);
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined)
+-#define __MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clienthandle_t(__Reply__rpc_jack_internal_clienthandle_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_internal_clienthandle_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1117) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_internal_clienthandle */
+-mig_external kern_return_t rpc_jack_internal_clienthandle
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	client_name_t client_name,
+-	int *int_ref,
+-	int *status,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		client_name_t client_name;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int int_ref;
+-		int status;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int int_ref;
+-		int status;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined */
+-
+-	__DeclareSendRpc(1017, "rpc_jack_internal_clienthandle")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	(void) mig_strncpy(InP->client_name, client_name, 64);
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1017;
+-
+-	__BeforeSendRpc(1017, "rpc_jack_internal_clienthandle")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1017, "rpc_jack_internal_clienthandle")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_internal_clienthandle_t((__Reply__rpc_jack_internal_clienthandle_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined) */
+-
+-	*int_ref = Out0P->int_ref;
+-
+-	*status = Out0P->status;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined)
+-#define __MIG_check__Reply__rpc_jack_internal_clientload_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clientload_t(__Reply__rpc_jack_internal_clientload_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_internal_clientload_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1118) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_internal_clientload */
+-mig_external kern_return_t rpc_jack_internal_clientload
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	client_name_t client_name,
+-	so_name_t so_name,
+-	objet_data_t objet_data,
+-	int options,
+-	int *status,
+-	int *int_ref,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		client_name_t client_name;
+-		so_name_t so_name;
+-		objet_data_t objet_data;
+-		int options;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int status;
+-		int int_ref;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int status;
+-		int int_ref;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_internal_clientload_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_internal_clientload_t__defined */
+-
+-	__DeclareSendRpc(1018, "rpc_jack_internal_clientload")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	(void) mig_strncpy(InP->client_name, client_name, 64);
+-
+-	(void) mig_strncpy(InP->so_name, so_name, 256);
+-
+-	(void) mig_strncpy(InP->objet_data, objet_data, 256);
+-
+-	InP->options = options;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1018;
+-
+-	__BeforeSendRpc(1018, "rpc_jack_internal_clientload")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1018, "rpc_jack_internal_clientload")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_internal_clientload_t((__Reply__rpc_jack_internal_clientload_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined) */
+-
+-	*status = Out0P->status;
+-
+-	*int_ref = Out0P->int_ref;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-#if ( __MigTypeCheck || __NDR_convert__ )
+-#if __MIG_check__Reply__JackRPCEngine_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined)
+-#define __MIG_check__Reply__rpc_jack_internal_clientunload_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__int_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__char_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-
+-
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__float_rep__int((int *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
+-	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
+-#endif /* defined(__NDR_convert__*__defined) */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-
+-
+-
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clientunload_t(__Reply__rpc_jack_internal_clientunload_t *Out0P)
+-{
+-
+-	typedef __Reply__rpc_jack_internal_clientunload_t __Reply;
+-#if	__MigTypeCheck
+-	unsigned int msgh_size;
+-#endif	/* __MigTypeCheck */
+-	if (Out0P->Head.msgh_id != 1119) {
+-	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
+-		{ return MIG_SERVER_DIED; }
+-	    else
+-		{ return MIG_REPLY_MISMATCH; }
+-	}
+-
+-#if	__MigTypeCheck
+-	msgh_size = Out0P->Head.msgh_size;
+-
+-	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
+-	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
+-	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
+-	      Out0P->RetCode == KERN_SUCCESS)))
+-		{ return MIG_TYPE_ERROR ; }
+-#endif	/* __MigTypeCheck */
+-
+-	if (Out0P->RetCode != KERN_SUCCESS) {
+-#ifdef	__NDR_convert__mig_reply_error_t__defined
+-		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
+-#endif	/* __NDR_convert__mig_reply_error_t__defined */
+-		return ((mig_reply_error_t *)Out0P)->RetCode;
+-	}
+-
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__int_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__char_rep...) */
+-
+-#if	0 || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-	}
+-#endif	/* defined(__NDR_convert__float_rep...) */
+-
+-	return MACH_MSG_SUCCESS;
+-}
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
+-
+-
+-/* Routine rpc_jack_internal_clientunload */
+-mig_external kern_return_t rpc_jack_internal_clientunload
+-(
+-	mach_port_t server_port,
+-	int refnum,
+-	int int_ref,
+-	int *status,
+-	int *result
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int int_ref;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int status;
+-		int result;
+-		mach_msg_trailer_t trailer;
+-	} Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		kern_return_t RetCode;
+-		int status;
+-		int result;
+-	} __Reply;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-		Reply Out;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-	Reply *Out0P = &Mess.Out;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_internal_clientunload_t__defined */
+-
+-	__DeclareSendRpc(1019, "rpc_jack_internal_clientunload")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->int_ref = int_ref;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_reply_port = mig_get_reply_port();
+-	InP->Head.msgh_id = 1019;
+-
+-	__BeforeSendRpc(1019, "rpc_jack_internal_clientunload")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+-	__AfterSendRpc(1019, "rpc_jack_internal_clientunload")
+-	if (msg_result != MACH_MSG_SUCCESS) {
+-		__MachMsgErrorWithoutTimeout(msg_result);
+-		{ return msg_result; }
+-	}
+-
+-
+-#if	defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_internal_clientunload_t((__Reply__rpc_jack_internal_clientunload_t *)Out0P);
+-	if (check_result != MACH_MSG_SUCCESS)
+-		{ return check_result; }
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined) */
+-
+-	*status = Out0P->status;
+-
+-	*result = Out0P->result;
+-
+-	return KERN_SUCCESS;
+-}
+-
+-/* SimpleRoutine rpc_jack_client_rt_notify */
+-mig_external kern_return_t rpc_jack_client_rt_notify
+-(
+-	mach_port_t client_port,
+-	int refnum,
+-	int notify,
+-	int value,
+-	int timeout
+-)
+-{
+-
+-#ifdef  __MigPackStructs
+-#pragma pack(4)
+-#endif
+-	typedef struct {
+-		mach_msg_header_t Head;
+-		NDR_record_t NDR;
+-		int refnum;
+-		int notify;
+-		int value;
+-	} Request;
+-#ifdef  __MigPackStructs
+-#pragma pack()
+-#endif
+-	/*
+-	 * typedef struct {
+-	 * 	mach_msg_header_t Head;
+-	 * 	NDR_record_t NDR;
+-	 * 	kern_return_t RetCode;
+-	 * } mig_reply_error_t;
+-	 */
+-
+-	union {
+-		Request In;
+-	} Mess;
+-
+-	Request *InP = &Mess.In;
+-
+-	mach_msg_return_t msg_result;
+-
+-#ifdef	__MIG_check__Reply__rpc_jack_client_rt_notify_t__defined
+-	kern_return_t check_result;
+-#endif	/* __MIG_check__Reply__rpc_jack_client_rt_notify_t__defined */
+-
+-	__DeclareSendSimple(1020, "rpc_jack_client_rt_notify")
+-
+-	InP->NDR = NDR_record;
+-
+-	InP->refnum = refnum;
+-
+-	InP->notify = notify;
+-
+-	InP->value = value;
+-
+-	InP->Head.msgh_bits =
+-		MACH_MSGH_BITS(19, 0);
+-	/* msgh_size passed as argument */
+-	InP->Head.msgh_request_port = client_port;
+-	InP->Head.msgh_reply_port = MACH_PORT_NULL;
+-	InP->Head.msgh_id = 1020;
+-
+-	__BeforeSendSimple(1020, "rpc_jack_client_rt_notify")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_SEND_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), 0, MACH_PORT_NULL, timeout, MACH_PORT_NULL);
+-	__AfterSendSimple(1020, "rpc_jack_client_rt_notify")
+-
+-	if (msg_result == MACH_SEND_TIMED_OUT) {
+-	}
+-
+-	return msg_result;
+-}
 --- a/macosx/RPC/JackRPCClientServer.c
 +++ /dev/null
 @@ -1,1373 +0,0 @@
@@ -9354,659 +14970,6 @@ Forwarded: not-needed
 -
 -	return JackRPCClient_subsystem.routine[msgh_id].stub_routine;
 -}
---- a/macosx/RPC/JackRPCClientUser.c
-+++ /dev/null
-@@ -1,466 +0,0 @@
--/*
-- * IDENTIFICATION:
-- * stub generated Fri Oct 23 10:35:08 2009
-- * with a MiG generated Mon May 18 09:59:33 PDT 2009 by root at sulitlana.apple.com
-- * OPTIONS: 
-- */
--#define	__MIG_check__Reply__JackRPCClient_subsystem__ 1
--#define	__NDR_convert__Reply__JackRPCClient_subsystem__ 1
--#define	__NDR_convert__mig_reply_error_subsystem__ 1
--
--#include "JackRPCClient.h"
--
--
--#ifndef	mig_internal
--#define	mig_internal	static __inline__
--#endif	/* mig_internal */
--
--#ifndef	mig_external
--#define mig_external
--#endif	/* mig_external */
--
--#if	!defined(__MigTypeCheck) && defined(TypeCheck)
--#define	__MigTypeCheck		TypeCheck	/* Legacy setting */
--#endif	/* !defined(__MigTypeCheck) */
--
--#if	!defined(__MigKernelSpecificCode) && defined(_MIG_KERNEL_SPECIFIC_CODE_)
--#define	__MigKernelSpecificCode	_MIG_KERNEL_SPECIFIC_CODE_	/* Legacy setting */
--#endif	/* !defined(__MigKernelSpecificCode) */
--
--#ifndef	LimitCheck
--#define	LimitCheck 0
--#endif	/* LimitCheck */
--
--#ifndef	min
--#define	min(a,b)  ( ((a) < (b))? (a): (b) )
--#endif	/* min */
--
--#if !defined(_WALIGN_)
--#define _WALIGN_(x) (((x) + 3) & ~3)
--#endif /* !defined(_WALIGN_) */
--
--#if !defined(_WALIGNSZ_)
--#define _WALIGNSZ_(x) _WALIGN_(sizeof(x))
--#endif /* !defined(_WALIGNSZ_) */
--
--#ifndef	UseStaticTemplates
--#define	UseStaticTemplates	0
--#endif	/* UseStaticTemplates */
--
--#ifndef	__MachMsgErrorWithTimeout
--#define	__MachMsgErrorWithTimeout(_R_) { \
--	switch (_R_) { \
--	case MACH_SEND_INVALID_DATA: \
--	case MACH_SEND_INVALID_DEST: \
--	case MACH_SEND_INVALID_HEADER: \
--		mig_put_reply_port(InP->Head.msgh_reply_port); \
--		break; \
--	case MACH_SEND_TIMED_OUT: \
--	case MACH_RCV_TIMED_OUT: \
--	default: \
--		mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
--	} \
--}
--#endif	/* __MachMsgErrorWithTimeout */
--
--#ifndef	__MachMsgErrorWithoutTimeout
--#define	__MachMsgErrorWithoutTimeout(_R_) { \
--	switch (_R_) { \
--	case MACH_SEND_INVALID_DATA: \
--	case MACH_SEND_INVALID_DEST: \
--	case MACH_SEND_INVALID_HEADER: \
--		mig_put_reply_port(InP->Head.msgh_reply_port); \
--		break; \
--	default: \
--		mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
--	} \
--}
--#endif	/* __MachMsgErrorWithoutTimeout */
--
--#ifndef	__DeclareSendRpc
--#define	__DeclareSendRpc(_NUM_, _NAME_)
--#endif	/* __DeclareSendRpc */
--
--#ifndef	__BeforeSendRpc
--#define	__BeforeSendRpc(_NUM_, _NAME_)
--#endif	/* __BeforeSendRpc */
--
--#ifndef	__AfterSendRpc
--#define	__AfterSendRpc(_NUM_, _NAME_)
--#endif	/* __AfterSendRpc */
--
--#ifndef	__DeclareSendSimple
--#define	__DeclareSendSimple(_NUM_, _NAME_)
--#endif	/* __DeclareSendSimple */
--
--#ifndef	__BeforeSendSimple
--#define	__BeforeSendSimple(_NUM_, _NAME_)
--#endif	/* __BeforeSendSimple */
--
--#ifndef	__AfterSendSimple
--#define	__AfterSendSimple(_NUM_, _NAME_)
--#endif	/* __AfterSendSimple */
--
--#define msgh_request_port	msgh_remote_port
--#define msgh_reply_port		msgh_local_port
--
--
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCClient_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCClient__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCClient__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCClient__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCClient__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCClient__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCClient__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCClient__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCClient__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCClient__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCClient__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCClient__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCClient__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCClient__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCClient__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_sync_notify_t(__Reply__rpc_jack_client_sync_notify_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_sync_notify_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1100) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCClient_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_sync_notify */
--mig_external kern_return_t rpc_jack_client_sync_notify
--(
--	mach_port_t client_port,
--	int refnum,
--	client_name_t client_name,
--	int notify,
--	message_t message,
--	int value1,
--	int value2,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_name_t client_name;
--		int notify;
--		message_t message;
--		int value1;
--		int value2;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined */
--
--	__DeclareSendRpc(1000, "rpc_jack_client_sync_notify")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->client_name, client_name, 64);
--
--	InP->notify = notify;
--
--	(void) mig_strncpy(InP->message, message, 256);
--
--	InP->value1 = value1;
--
--	InP->value2 = value2;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = client_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1000;
--
--	__BeforeSendRpc(1000, "rpc_jack_client_sync_notify")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_SEND_TIMEOUT|MACH_RCV_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, 5000, MACH_PORT_NULL);
--	__AfterSendRpc(1000, "rpc_jack_client_sync_notify")
--
--	if (msg_result == MACH_SEND_TIMED_OUT) {
--	}
--
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_sync_notify_t((__Reply__rpc_jack_client_sync_notify_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--/* SimpleRoutine rpc_jack_client_async_notify */
--mig_external kern_return_t rpc_jack_client_async_notify
--(
--	mach_port_t client_port,
--	int refnum,
--	client_name_t client_name,
--	int notify,
--	message_t message,
--	int value1,
--	int value2
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_name_t client_name;
--		int notify;
--		message_t message;
--		int value1;
--		int value2;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--	} Mess;
--
--	Request *InP = &Mess.In;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_async_notify_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_async_notify_t__defined */
--
--	__DeclareSendSimple(1001, "rpc_jack_client_async_notify")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->client_name, client_name, 64);
--
--	InP->notify = notify;
--
--	(void) mig_strncpy(InP->message, message, 256);
--
--	InP->value1 = value1;
--
--	InP->value2 = value2;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, 0);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = client_port;
--	InP->Head.msgh_reply_port = MACH_PORT_NULL;
--	InP->Head.msgh_id = 1001;
--
--	__BeforeSendSimple(1001, "rpc_jack_client_async_notify")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_SEND_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), 0, MACH_PORT_NULL, 5000, MACH_PORT_NULL);
--	__AfterSendSimple(1001, "rpc_jack_client_async_notify")
--
--	if (msg_result == MACH_SEND_TIMED_OUT) {
--	}
--
--	return msg_result;
--}
---- a/macosx/RPC/JackRPCEngine.defs
-+++ /dev/null
-@@ -1,181 +0,0 @@
--/*
-- 	Copyright (C) 2004 Grame
--    
--    This program is free software; you can redistribute it and/or modify
--    it under the terms of the GNU Lesser General Public License as published by
--    the Free Software Foundation; either version 2.1 of the License, or
--    (at your option) any later version.
--    
--    This program 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 Lesser General Public License for more details.
--    
--    You should have received a copy of the GNU Lesser General Public License
--    along with this program; if not, write to the Free Software 
--    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
--*/
--
--subsystem  JackRPCEngine 1000;
--
--#include <mach/std_types.defs>
--#include <mach/mach_types.defs>
--import "Jackdefs.h";
--
--ServerPrefix server_;
--
--type client_name_t = c_string[64];
--type client_port_name_t = c_string[128];
--type client_port_type_t = c_string[128];
--type so_name_t = c_string[256];
--type objet_data_t = c_string[256];
--
--routine rpc_jack_client_open(
--	server_port	: mach_port_t;
--	client_name	: client_name_t;
--    	pid         : int;
--	out private_port : mach_port_make_send_t;
--	out shared_engine : int;
--	out shared_client : int;
--	out shared_graph : int;
--	out result : int);
--
--routine rpc_jack_client_check(
--	server_port	: mach_port_t;
--	client_name	: client_name_t;
--	out client_name_res	: client_name_t;
--	protocol	: int;
--	options		: int;
--	out status	: int;
--	out result : int);
--
--routine  rpc_jack_client_close(
--	server_port	: mach_port_t;
--	refnum		: int;
--	out result 	: int);
--    
--routine  rpc_jack_client_activate(
--	server_port	: mach_port_t;
--	refnum		: int;
--    	state		: int;
--	out result 	: int);
--
--routine  rpc_jack_client_deactivate(
--	server_port	: mach_port_t;
--	refnum		: int;
--	out result 	: int);
--
--routine rpc_jack_port_register(
--	server_port	: mach_port_t;
--	refnum		: int;
--	name		: client_port_name_t;
--	port_type	: client_port_type_t;
--	flags		: unsigned;
--	buffer_size : unsigned;
--	out port_index : unsigned;
--	out result 	: int);
--	
--routine rpc_jack_port_unregister(
--	server_port	: mach_port_t;
--	refnum		: int;
--	port		: int;
--	out result 	: int);	
--	
--routine rpc_jack_port_connect(
--	server_port	: mach_port_t;
--	refnum		: int;
--	src         	: int;
--	dst         	: int;
--	out result 	: int);
--	
--routine rpc_jack_port_disconnect(
--	server_port	: mach_port_t;
--	refnum		: int;
--	src         	: int;
--	dst         	: int;
--	out result 	: int);
--    
--routine rpc_jack_port_connect_name(
--	server_port	: mach_port_t;
--	refnum		: int;
--	src         	: client_port_name_t;
--	dst         	: client_port_name_t;
--	out result 	: int);
--	
--routine rpc_jack_port_disconnect_name(
--	server_port	: mach_port_t;
--	refnum		: int;
--	src         	: client_port_name_t;
--	dst         	: client_port_name_t;
--	out result 	: int);
--	
--routine rpc_jack_port_rename(
--	server_port	: mach_port_t;
--	refnum		: int;
--	src         	: int;
--	name        	: client_port_name_t;
--	out result 	: int);
--
--routine rpc_jack_set_buffer_size(
--	server_port	: mach_port_t;
--	buffer_size 	: int;
--	out result 	: int);
--	
--routine rpc_jack_set_freewheel(
--	server_port	: mach_port_t;
--	onoff		: int;
--	out result 	: int);
--
--routine rpc_jack_release_timebase(
--	server_port	: mach_port_t;
--	refnum		: int;
--	out result 	: int);
--	
--routine rpc_jack_set_timebase_callback(
--	server_port	: mach_port_t;
--	refnum		: int;
--	conditional	: int;
--	out result 	: int);
--	
--routine rpc_jack_get_internal_clientname(
--	server_port	: mach_port_t;
--	refnum		: int;
--	int_ref		: int;
--	out client_name_res	: client_name_t;
--	out result 	: int);
--	
--routine rpc_jack_internal_clienthandle(
--	server_port	: mach_port_t;
--	refnum		: int;
--	client_name	: client_name_t;
--	out int_ref 	: int;
--	out status	: int;
--	out result 	: int);
--	
--routine rpc_jack_internal_clientload(
--	server_port	: mach_port_t;
--	refnum		: int;
--	client_name	: client_name_t;
--	so_name		: so_name_t;
--	objet_data	: objet_data_t;
--	options		: int;
--	out status	: int;
--	out int_ref 	: int;
--	out result	: int);
--	
--routine rpc_jack_internal_clientunload(
--	server_port	: mach_port_t;
--	refnum		: int;
--	int_ref		: int;
--	out status	: int;
--	out result 	: int);
--
--simpleroutine rpc_jack_client_rt_notify(
--	client_port	: mach_port_t;
--	refnum		: int;
--	notify		: int;
--    	value		: int;
--	waittime timeout : int);
--
--	
 --- a/macosx/RPC/JackRPCEngine.h
 +++ /dev/null
 @@ -1,1040 +0,0 @@
@@ -17870,20 +22833,70 @@ Forwarded: not-needed
 -
 -	return server_JackRPCEngine_subsystem.routine[msgh_id].stub_routine;
 -}
---- a/macosx/RPC/JackRPCEngineUser.c
+--- a/macosx/RPC/JackRPCClient.defs
 +++ /dev/null
-@@ -1,6302 +0,0 @@
+@@ -1,47 +0,0 @@
+-/*
+- 	Copyright (C) 2004 Grame
+-    
+-    This program is free software; you can redistribute it and/or modify
+-    it under the terms of the GNU Lesser General Public License as published by
+-    the Free Software Foundation; either version 2.1 of the License, or
+-    (at your option) any later version.
+-    
+-    This program 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 Lesser General Public License for more details.
+-    
+-    You should have received a copy of the GNU Lesser General Public License
+-    along with this program; if not, write to the Free Software 
+-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-subsystem  JackRPCClient 1000;
+-
+-#include <mach/std_types.defs>
+-#include <mach/mach_types.defs>
+-import "Jackdefs.h";
+-waittime 5000;
+-
+-type client_name_t = c_string[64];
+-type message_t = c_string[256];
+-
+-routine rpc_jack_client_sync_notify(
+-	client_port	: mach_port_t;
+-	refnum		: int;
+-	client_name	: client_name_t;
+-	notify		: int;
+-	message		: message_t;
+-	value1		: int;
+-	value2		: int;
+-    out result : int);
+-
+-simpleroutine rpc_jack_client_async_notify(
+-	client_port	: mach_port_t;
+-	refnum		: int;
+-	client_name	: client_name_t;
+-	notify		: int;
+-	message		: message_t;
+-	value1		: int;
+-	value2		: int);
+--- a/macosx/RPC/JackRPCClientUser.c
++++ /dev/null
+@@ -1,466 +0,0 @@
 -/*
 - * IDENTIFICATION:
 - * stub generated Fri Oct 23 10:35:08 2009
 - * with a MiG generated Mon May 18 09:59:33 PDT 2009 by root at sulitlana.apple.com
 - * OPTIONS: 
 - */
--#define	__MIG_check__Reply__JackRPCEngine_subsystem__ 1
--#define	__NDR_convert__Reply__JackRPCEngine_subsystem__ 1
+-#define	__MIG_check__Reply__JackRPCClient_subsystem__ 1
+-#define	__NDR_convert__Reply__JackRPCClient_subsystem__ 1
 -#define	__NDR_convert__mig_reply_error_subsystem__ 1
 -
--#include "JackRPCEngine.h"
+-#include "JackRPCClient.h"
 -
 -
 -#ifndef	mig_internal
@@ -17982,4190 +22995,96 @@ Forwarded: not-needed
 -
 -
 -#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_open_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_open_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_open_t(__Reply__rpc_jack_client_open_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_open_t __Reply;
--	boolean_t msgh_simple;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1100) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--	msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX);
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 ||
--	    msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	    (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	    ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (msgh_simple) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	__MigTypeCheck
--	if (Out0P->private_port.type != MACH_MSG_PORT_DESCRIPTOR ||
--	    Out0P->private_port.disposition != 17) {
--		return MIG_TYPE_ERROR;
--	}
--#endif	/* __MigTypeCheck */
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_open_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_open_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine(&Out0P->shared_engine, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_engine__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client(&Out0P->shared_client, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_client__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph(&Out0P->shared_graph, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__shared_graph__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_open_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_open_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_open */
--mig_external kern_return_t rpc_jack_client_open
--(
--	mach_port_t server_port,
--	client_name_t client_name,
--	int pid,
--	mach_port_t *private_port,
--	int *shared_engine,
--	int *shared_client,
--	int *shared_graph,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		client_name_t client_name;
--		int pid;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		/* start of the kernel processed data */
--		mach_msg_body_t msgh_body;
--		mach_msg_port_descriptor_t private_port;
--		/* end of the kernel processed data */
--		NDR_record_t NDR;
--		int shared_engine;
--		int shared_client;
--		int shared_graph;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		/* start of the kernel processed data */
--		mach_msg_body_t msgh_body;
--		mach_msg_port_descriptor_t private_port;
--		/* end of the kernel processed data */
--		NDR_record_t NDR;
--		int shared_engine;
--		int shared_client;
--		int shared_graph;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_open_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_open_t__defined */
--
--	__DeclareSendRpc(1000, "rpc_jack_client_open")
--
--	InP->NDR = NDR_record;
--
--	(void) mig_strncpy(InP->client_name, client_name, 64);
--
--	InP->pid = pid;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1000;
--
--	__BeforeSendRpc(1000, "rpc_jack_client_open")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1000, "rpc_jack_client_open")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_open_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_open_t((__Reply__rpc_jack_client_open_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_open_t__defined) */
--
--	*private_port = Out0P->private_port.name;
--	*shared_engine = Out0P->shared_engine;
--
--	*shared_client = Out0P->shared_client;
--
--	*shared_graph = Out0P->shared_graph;
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_check_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_check_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__client_name_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__int_rep__string__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__client_name_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__char_rep__string__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__client_name_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__float_rep__string__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_check_t(__Reply__rpc_jack_client_check_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_check_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1101) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__status__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_check_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__status__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_check_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__client_name_res__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status(&Out0P->status, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__status__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_check_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_check_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_check */
--mig_external kern_return_t rpc_jack_client_check
--(
--	mach_port_t server_port,
--	client_name_t client_name,
--	client_name_t client_name_res,
--	int protocol,
--	int options,
--	int *status,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		client_name_t client_name;
--		int protocol;
--		int options;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		client_name_t client_name_res;
--		int status;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		client_name_t client_name_res;
--		int status;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_check_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_check_t__defined */
--
--	__DeclareSendRpc(1001, "rpc_jack_client_check")
--
--	InP->NDR = NDR_record;
--
--	(void) mig_strncpy(InP->client_name, client_name, 64);
--
--	InP->protocol = protocol;
--
--	InP->options = options;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1001;
--
--	__BeforeSendRpc(1001, "rpc_jack_client_check")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1001, "rpc_jack_client_check")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_check_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_check_t((__Reply__rpc_jack_client_check_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_check_t__defined) */
--
--	(void) mig_strncpy(client_name_res, Out0P->client_name_res, 64);
--
--	*status = Out0P->status;
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_close_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_close_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_close_t(__Reply__rpc_jack_client_close_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_close_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1102) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_close_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_close_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_close_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_close_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_close */
--mig_external kern_return_t rpc_jack_client_close
--(
--	mach_port_t server_port,
--	int refnum,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_close_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_close_t__defined */
--
--	__DeclareSendRpc(1002, "rpc_jack_client_close")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1002;
--
--	__BeforeSendRpc(1002, "rpc_jack_client_close")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1002, "rpc_jack_client_close")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_close_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_close_t((__Reply__rpc_jack_client_close_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_close_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_activate_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_activate_t(__Reply__rpc_jack_client_activate_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_activate_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1103) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_activate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_activate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_activate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_activate */
--mig_external kern_return_t rpc_jack_client_activate
--(
--	mach_port_t server_port,
--	int refnum,
--	int state,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int state;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_activate_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_activate_t__defined */
--
--	__DeclareSendRpc(1003, "rpc_jack_client_activate")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->state = state;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1003;
--
--	__BeforeSendRpc(1003, "rpc_jack_client_activate")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1003, "rpc_jack_client_activate")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_activate_t((__Reply__rpc_jack_client_activate_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_activate_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined)
--#define __MIG_check__Reply__rpc_jack_client_deactivate_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_deactivate_t(__Reply__rpc_jack_client_deactivate_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_client_deactivate_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1104) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_deactivate_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_client_deactivate */
--mig_external kern_return_t rpc_jack_client_deactivate
--(
--	mach_port_t server_port,
--	int refnum,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_client_deactivate_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_deactivate_t__defined */
--
--	__DeclareSendRpc(1004, "rpc_jack_client_deactivate")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1004;
--
--	__BeforeSendRpc(1004, "rpc_jack_client_deactivate")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1004, "rpc_jack_client_deactivate")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_client_deactivate_t((__Reply__rpc_jack_client_deactivate_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_client_deactivate_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_register_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_register_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__unsigned__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__int_rep__unsigned__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__int_rep__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__uint32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__uint32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__int_rep__uint32_t((uint32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__unsigned__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__char_rep__unsigned__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__char_rep__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__uint32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__uint32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__char_rep__uint32_t((uint32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__unsigned__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__float_rep__unsigned__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__float_rep__unsigned((unsigned *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__uint32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__uint32_t((uint32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__uint32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(a, f) \
--	__NDR_convert__float_rep__uint32_t((uint32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_register_t(__Reply__rpc_jack_port_register_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_register_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1105) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_register_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_register_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index(&Out0P->port_index, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__port_index__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_register_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_register_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_register */
--mig_external kern_return_t rpc_jack_port_register
--(
--	mach_port_t server_port,
--	int refnum,
--	client_port_name_t name,
--	client_port_type_t port_type,
--	unsigned flags,
--	unsigned buffer_size,
--	unsigned *port_index,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_port_name_t name;
--		client_port_type_t port_type;
--		unsigned flags;
--		unsigned buffer_size;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		unsigned port_index;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		unsigned port_index;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_register_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_register_t__defined */
--
--	__DeclareSendRpc(1005, "rpc_jack_port_register")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->name, name, 128);
--
--	(void) mig_strncpy(InP->port_type, port_type, 128);
--
--	InP->flags = flags;
--
--	InP->buffer_size = buffer_size;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1005;
--
--	__BeforeSendRpc(1005, "rpc_jack_port_register")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1005, "rpc_jack_port_register")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_register_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_register_t((__Reply__rpc_jack_port_register_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_register_t__defined) */
--
--	*port_index = Out0P->port_index;
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_unregister_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_unregister_t(__Reply__rpc_jack_port_unregister_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_unregister_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1106) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_unregister_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_unregister */
--mig_external kern_return_t rpc_jack_port_unregister
--(
--	mach_port_t server_port,
--	int refnum,
--	int port,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int port;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_unregister_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_unregister_t__defined */
--
--	__DeclareSendRpc(1006, "rpc_jack_port_unregister")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->port = port;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1006;
--
--	__BeforeSendRpc(1006, "rpc_jack_port_unregister")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1006, "rpc_jack_port_unregister")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_unregister_t((__Reply__rpc_jack_port_unregister_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_unregister_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_connect_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_connect_t(__Reply__rpc_jack_port_connect_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_connect_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1107) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_connect */
--mig_external kern_return_t rpc_jack_port_connect
--(
--	mach_port_t server_port,
--	int refnum,
--	int src,
--	int dst,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int src;
--		int dst;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_connect_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_connect_t__defined */
--
--	__DeclareSendRpc(1007, "rpc_jack_port_connect")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->src = src;
--
--	InP->dst = dst;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1007;
--
--	__BeforeSendRpc(1007, "rpc_jack_port_connect")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1007, "rpc_jack_port_connect")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_connect_t((__Reply__rpc_jack_port_connect_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_connect_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_disconnect_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_disconnect_t(__Reply__rpc_jack_port_disconnect_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_disconnect_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1108) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_disconnect */
--mig_external kern_return_t rpc_jack_port_disconnect
--(
--	mach_port_t server_port,
--	int refnum,
--	int src,
--	int dst,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int src;
--		int dst;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_disconnect_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_disconnect_t__defined */
--
--	__DeclareSendRpc(1008, "rpc_jack_port_disconnect")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->src = src;
--
--	InP->dst = dst;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1008;
--
--	__BeforeSendRpc(1008, "rpc_jack_port_disconnect")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1008, "rpc_jack_port_disconnect")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_disconnect_t((__Reply__rpc_jack_port_disconnect_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_disconnect_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_connect_name_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_connect_name_t(__Reply__rpc_jack_port_connect_name_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_connect_name_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1109) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_connect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_connect_name */
--mig_external kern_return_t rpc_jack_port_connect_name
--(
--	mach_port_t server_port,
--	int refnum,
--	client_port_name_t src,
--	client_port_name_t dst,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_port_name_t src;
--		client_port_name_t dst;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_connect_name_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_connect_name_t__defined */
--
--	__DeclareSendRpc(1009, "rpc_jack_port_connect_name")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->src, src, 128);
--
--	(void) mig_strncpy(InP->dst, dst, 128);
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1009;
--
--	__BeforeSendRpc(1009, "rpc_jack_port_connect_name")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1009, "rpc_jack_port_connect_name")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_connect_name_t((__Reply__rpc_jack_port_connect_name_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_connect_name_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_disconnect_name_t(__Reply__rpc_jack_port_disconnect_name_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_disconnect_name_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1110) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_disconnect_name_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_disconnect_name */
--mig_external kern_return_t rpc_jack_port_disconnect_name
--(
--	mach_port_t server_port,
--	int refnum,
--	client_port_name_t src,
--	client_port_name_t dst,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_port_name_t src;
--		client_port_name_t dst;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined */
--
--	__DeclareSendRpc(1010, "rpc_jack_port_disconnect_name")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->src, src, 128);
--
--	(void) mig_strncpy(InP->dst, dst, 128);
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1010;
--
--	__BeforeSendRpc(1010, "rpc_jack_port_disconnect_name")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1010, "rpc_jack_port_disconnect_name")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_disconnect_name_t((__Reply__rpc_jack_port_disconnect_name_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_disconnect_name_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined)
--#define __MIG_check__Reply__rpc_jack_port_rename_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_port_rename_t(__Reply__rpc_jack_port_rename_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_port_rename_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1111) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_port_rename_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_port_rename_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_port_rename_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_port_rename */
--mig_external kern_return_t rpc_jack_port_rename
--(
--	mach_port_t server_port,
--	int refnum,
--	int src,
--	client_port_name_t name,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int src;
--		client_port_name_t name;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_port_rename_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_port_rename_t__defined */
--
--	__DeclareSendRpc(1011, "rpc_jack_port_rename")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->src = src;
--
--	(void) mig_strncpy(InP->name, name, 128);
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1011;
--
--	__BeforeSendRpc(1011, "rpc_jack_port_rename")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1011, "rpc_jack_port_rename")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_port_rename_t((__Reply__rpc_jack_port_rename_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_port_rename_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined)
--#define __MIG_check__Reply__rpc_jack_set_buffer_size_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_buffer_size_t(__Reply__rpc_jack_set_buffer_size_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_set_buffer_size_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1112) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_buffer_size_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_set_buffer_size */
--mig_external kern_return_t rpc_jack_set_buffer_size
--(
--	mach_port_t server_port,
--	int buffer_size,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int buffer_size;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_set_buffer_size_t__defined */
--
--	__DeclareSendRpc(1012, "rpc_jack_set_buffer_size")
--
--	InP->NDR = NDR_record;
--
--	InP->buffer_size = buffer_size;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1012;
--
--	__BeforeSendRpc(1012, "rpc_jack_set_buffer_size")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1012, "rpc_jack_set_buffer_size")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_set_buffer_size_t((__Reply__rpc_jack_set_buffer_size_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_set_buffer_size_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined)
--#define __MIG_check__Reply__rpc_jack_set_freewheel_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_freewheel_t(__Reply__rpc_jack_set_freewheel_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_set_freewheel_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1113) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_freewheel_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_set_freewheel */
--mig_external kern_return_t rpc_jack_set_freewheel
--(
--	mach_port_t server_port,
--	int onoff,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int onoff;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_set_freewheel_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_set_freewheel_t__defined */
--
--	__DeclareSendRpc(1013, "rpc_jack_set_freewheel")
--
--	InP->NDR = NDR_record;
--
--	InP->onoff = onoff;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1013;
--
--	__BeforeSendRpc(1013, "rpc_jack_set_freewheel")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1013, "rpc_jack_set_freewheel")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_set_freewheel_t((__Reply__rpc_jack_set_freewheel_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_set_freewheel_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined)
--#define __MIG_check__Reply__rpc_jack_release_timebase_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
+-#if __MIG_check__Reply__JackRPCClient_subsystem__
+-#if !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
+-#define __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCClient__kern_return_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
+-	__NDR_convert__int_rep__JackRPCClient__kern_return_t((kern_return_t *)(a), f)
 -#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(a, f) \
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
 -	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
 -#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
 -
 -
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
+-#ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#if	defined(__NDR_convert__int_rep__JackRPCClient__int__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCClient__int((int *)(a), f)
 -#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__int_rep__JackRPCClient__int32_t__defined)
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__int_rep__JackRPCClient__int32_t((int32_t *)(a), f)
 -#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
 -#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -
 -
 -
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
+-#ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#if	defined(__NDR_convert__char_rep__JackRPCClient__int__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCClient__int((int *)(a), f)
 -#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__char_rep__JackRPCClient__int32_t__defined)
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__char_rep__JackRPCClient__int32_t((int32_t *)(a), f)
 -#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
 -#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -
 -
 -
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
+-#ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#if	defined(__NDR_convert__float_rep__JackRPCClient__int__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCClient__int((int *)(a), f)
 -#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
+-#elif	defined(__NDR_convert__float_rep__JackRPCClient__int32_t__defined)
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
+-	__NDR_convert__float_rep__JackRPCClient__int32_t((int32_t *)(a), f)
 -#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(a, f) \
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
+-#define	__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
 -	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
 -#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -
 -
 -
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_release_timebase_t(__Reply__rpc_jack_release_timebase_t *Out0P)
+-mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_sync_notify_t(__Reply__rpc_jack_client_sync_notify_t *Out0P)
 -{
 -
--	typedef __Reply__rpc_jack_release_timebase_t __Reply;
+-	typedef __Reply__rpc_jack_client_sync_notify_t __Reply;
 -#if	__MigTypeCheck
 -	unsigned int msgh_size;
 -#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1114) {
+-	if (Out0P->Head.msgh_id != 1100) {
 -	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
 -		{ return MIG_SERVER_DIED; }
 -	    else
@@ -22189,48 +23108,53 @@ Forwarded: not-needed
 -		return ((mig_reply_error_t *)Out0P)->RetCode;
 -	}
 -
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined) || \
+-	defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
 -	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
+-#if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
+-		__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.int_rep);
+-#endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -	}
 -#endif	/* defined(__NDR_convert__int_rep...) */
 -
 -#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-	defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
 -	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
+-		__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.char_rep);
+-#endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -	}
 -#endif	/* defined(__NDR_convert__char_rep...) */
 -
 -#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined)
+-	defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
 -	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_release_timebase_t__result__defined */
+-#if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
+-		__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.float_rep);
+-#endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
 -	}
 -#endif	/* defined(__NDR_convert__float_rep...) */
 -
 -	return MACH_MSG_SUCCESS;
 -}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
+-#endif /* !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
+-#endif /* __MIG_check__Reply__JackRPCClient_subsystem__ */
 -#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
 -
 -
--/* Routine rpc_jack_release_timebase */
--mig_external kern_return_t rpc_jack_release_timebase
+-/* Routine rpc_jack_client_sync_notify */
+-mig_external kern_return_t rpc_jack_client_sync_notify
 -(
--	mach_port_t server_port,
+-	mach_port_t client_port,
 -	int refnum,
+-	client_name_t client_name,
+-	int notify,
+-	message_t message,
+-	int value1,
+-	int value2,
 -	int *result
 -)
 -{
@@ -22242,6 +23166,11 @@ Forwarded: not-needed
 -		mach_msg_header_t Head;
 -		NDR_record_t NDR;
 -		int refnum;
+-		client_name_t client_name;
+-		int notify;
+-		message_t message;
+-		int value1;
+-		int value2;
 -	} Request;
 -#ifdef  __MigPackStructs
 -#pragma pack()
@@ -22291,947 +23220,67 @@ Forwarded: not-needed
 -
 -	mach_msg_return_t msg_result;
 -
--#ifdef	__MIG_check__Reply__rpc_jack_release_timebase_t__defined
+-#ifdef	__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
 -	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_release_timebase_t__defined */
+-#endif	/* __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined */
 -
--	__DeclareSendRpc(1014, "rpc_jack_release_timebase")
+-	__DeclareSendRpc(1000, "rpc_jack_client_sync_notify")
 -
 -	InP->NDR = NDR_record;
 -
 -	InP->refnum = refnum;
 -
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1014;
--
--	__BeforeSendRpc(1014, "rpc_jack_release_timebase")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1014, "rpc_jack_release_timebase")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_release_timebase_t((__Reply__rpc_jack_release_timebase_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_release_timebase_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined)
--#define __MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_set_timebase_callback_t(__Reply__rpc_jack_set_timebase_callback_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_set_timebase_callback_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1115) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_set_timebase_callback_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_set_timebase_callback */
--mig_external kern_return_t rpc_jack_set_timebase_callback
--(
--	mach_port_t server_port,
--	int refnum,
--	int conditional,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int conditional;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined */
+-	(void) mig_strncpy(InP->client_name, client_name, 64);
 -
--	__DeclareSendRpc(1015, "rpc_jack_set_timebase_callback")
+-	InP->notify = notify;
 -
--	InP->NDR = NDR_record;
+-	(void) mig_strncpy(InP->message, message, 256);
 -
--	InP->refnum = refnum;
+-	InP->value1 = value1;
 -
--	InP->conditional = conditional;
+-	InP->value2 = value2;
 -
 -	InP->Head.msgh_bits =
 -		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
 -	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
+-	InP->Head.msgh_request_port = client_port;
 -	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1015;
--
--	__BeforeSendRpc(1015, "rpc_jack_set_timebase_callback")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1015, "rpc_jack_set_timebase_callback")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_set_timebase_callback_t((__Reply__rpc_jack_set_timebase_callback_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_set_timebase_callback_t__defined) */
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined)
--#define __MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__client_name_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__int_rep__string__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__int_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__client_name_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__char_rep__string__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__char_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__client_name_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__client_name_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__client_name_t((client_name_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__string__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__string(a, f, 64)
--#elif	defined(__NDR_convert__float_rep__string__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(a, f) \
--	__NDR_convert__float_rep__string(a, f, 64)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_get_internal_clientname_t(__Reply__rpc_jack_get_internal_clientname_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_get_internal_clientname_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1116) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
+-	InP->Head.msgh_id = 1000;
 -
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
+-	__BeforeSendRpc(1000, "rpc_jack_client_sync_notify")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_SEND_TIMEOUT|MACH_RCV_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, 5000, MACH_PORT_NULL);
+-	__AfterSendRpc(1000, "rpc_jack_client_sync_notify")
 -
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res(&Out0P->client_name_res, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__client_name_res__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_get_internal_clientname_t__result__defined */
+-	if (msg_result == MACH_SEND_TIMED_OUT) {
 -	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
 -
--/* Routine rpc_jack_get_internal_clientname */
--mig_external kern_return_t rpc_jack_get_internal_clientname
--(
--	mach_port_t server_port,
--	int refnum,
--	int int_ref,
--	client_name_t client_name_res,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int int_ref;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		client_name_t client_name_res;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		client_name_t client_name_res;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined */
--
--	__DeclareSendRpc(1016, "rpc_jack_get_internal_clientname")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	InP->int_ref = int_ref;
--
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1016;
--
--	__BeforeSendRpc(1016, "rpc_jack_get_internal_clientname")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1016, "rpc_jack_get_internal_clientname")
 -	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
+-		__MachMsgErrorWithTimeout(msg_result);
 -		{ return msg_result; }
 -	}
 -
 -
--#if	defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_get_internal_clientname_t((__Reply__rpc_jack_get_internal_clientname_t *)Out0P);
+-#if	defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
+-	check_result = __MIG_check__Reply__rpc_jack_client_sync_notify_t((__Reply__rpc_jack_client_sync_notify_t *)Out0P);
 -	if (check_result != MACH_MSG_SUCCESS)
 -		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_get_internal_clientname_t__defined) */
--
--	(void) mig_strncpy(client_name_res, Out0P->client_name_res, 64);
+-#endif	/* defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
 -
 -	*result = Out0P->result;
 -
 -	return KERN_SUCCESS;
 -}
 -
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined)
--#define __MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clienthandle_t(__Reply__rpc_jack_internal_clienthandle_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_internal_clienthandle_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1117) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref(&Out0P->int_ref, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__int_ref__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status(&Out0P->status, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__status__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clienthandle_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_internal_clienthandle */
--mig_external kern_return_t rpc_jack_internal_clienthandle
+-/* SimpleRoutine rpc_jack_client_async_notify */
+-mig_external kern_return_t rpc_jack_client_async_notify
 -(
--	mach_port_t server_port,
+-	mach_port_t client_port,
 -	int refnum,
 -	client_name_t client_name,
--	int *int_ref,
--	int *status,
--	int *result
+-	int notify,
+-	message_t message,
+-	int value1,
+-	int value2
 -)
 -{
 -
@@ -23243,41 +23292,14 @@ Forwarded: not-needed
 -		NDR_record_t NDR;
 -		int refnum;
 -		client_name_t client_name;
+-		int notify;
+-		message_t message;
+-		int value1;
+-		int value2;
 -	} Request;
 -#ifdef  __MigPackStructs
 -#pragma pack()
 -#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int int_ref;
--		int status;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int int_ref;
--		int status;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
 -	/*
 -	 * typedef struct {
 -	 * 	mach_msg_header_t Head;
@@ -23288,19 +23310,17 @@ Forwarded: not-needed
 -
 -	union {
 -		Request In;
--		Reply Out;
 -	} Mess;
 -
 -	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
 -
 -	mach_msg_return_t msg_result;
 -
--#ifdef	__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined
+-#ifdef	__MIG_check__Reply__rpc_jack_client_async_notify_t__defined
 -	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined */
+-#endif	/* __MIG_check__Reply__rpc_jack_client_async_notify_t__defined */
 -
--	__DeclareSendRpc(1017, "rpc_jack_internal_clienthandle")
+-	__DeclareSendSimple(1001, "rpc_jack_client_async_notify")
 -
 -	InP->NDR = NDR_record;
 -
@@ -23308,1363 +23328,2026 @@ Forwarded: not-needed
 -
 -	(void) mig_strncpy(InP->client_name, client_name, 64);
 -
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1017;
--
--	__BeforeSendRpc(1017, "rpc_jack_internal_clienthandle")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1017, "rpc_jack_internal_clienthandle")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_internal_clienthandle_t((__Reply__rpc_jack_internal_clienthandle_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clienthandle_t__defined) */
--
--	*int_ref = Out0P->int_ref;
--
--	*status = Out0P->status;
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined)
--#define __MIG_check__Reply__rpc_jack_internal_clientload_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clientload_t(__Reply__rpc_jack_internal_clientload_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_internal_clientload_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1118) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
--
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status(&Out0P->status, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__status__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref(&Out0P->int_ref, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__int_ref__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientload_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__float_rep...) */
--
--	return MACH_MSG_SUCCESS;
--}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_internal_clientload */
--mig_external kern_return_t rpc_jack_internal_clientload
--(
--	mach_port_t server_port,
--	int refnum,
--	client_name_t client_name,
--	so_name_t so_name,
--	objet_data_t objet_data,
--	int options,
--	int *status,
--	int *int_ref,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		client_name_t client_name;
--		so_name_t so_name;
--		objet_data_t objet_data;
--		int options;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int status;
--		int int_ref;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int status;
--		int int_ref;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_internal_clientload_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_internal_clientload_t__defined */
--
--	__DeclareSendRpc(1018, "rpc_jack_internal_clientload")
--
--	InP->NDR = NDR_record;
--
--	InP->refnum = refnum;
--
--	(void) mig_strncpy(InP->client_name, client_name, 64);
+-	InP->notify = notify;
 -
--	(void) mig_strncpy(InP->so_name, so_name, 256);
+-	(void) mig_strncpy(InP->message, message, 256);
 -
--	(void) mig_strncpy(InP->objet_data, objet_data, 256);
+-	InP->value1 = value1;
 -
--	InP->options = options;
+-	InP->value2 = value2;
 -
 -	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
+-		MACH_MSGH_BITS(19, 0);
 -	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1018;
--
--	__BeforeSendRpc(1018, "rpc_jack_internal_clientload")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1018, "rpc_jack_internal_clientload")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
--
--
--#if	defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_internal_clientload_t((__Reply__rpc_jack_internal_clientload_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clientload_t__defined) */
--
--	*status = Out0P->status;
--
--	*int_ref = Out0P->int_ref;
--
--	*result = Out0P->result;
--
--	return KERN_SUCCESS;
--}
--
--#if ( __MigTypeCheck || __NDR_convert__ )
--#if __MIG_check__Reply__JackRPCEngine_subsystem__
--#if !defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined)
--#define __MIG_check__Reply__rpc_jack_internal_clientunload_t__defined
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__kern_return_t((kern_return_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__kern_return_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(a, f) \
--	__NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--
--
--#ifndef __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#if	defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__int_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__int_rep__int32_t__defined)
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
--
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--
--
--#ifndef __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#if	defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__char_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__char_rep__int32_t__defined)
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
--
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--
--
--#ifndef __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#if	defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__float_rep__int((int *)(a), f)
--#elif	defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
--#elif	defined(__NDR_convert__float_rep__int32_t__defined)
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined
--#define	__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(a, f) \
--	__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
--#endif /* defined(__NDR_convert__*__defined) */
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
--
--
--
--mig_internal kern_return_t __MIG_check__Reply__rpc_jack_internal_clientunload_t(__Reply__rpc_jack_internal_clientunload_t *Out0P)
--{
--
--	typedef __Reply__rpc_jack_internal_clientunload_t __Reply;
--#if	__MigTypeCheck
--	unsigned int msgh_size;
--#endif	/* __MigTypeCheck */
--	if (Out0P->Head.msgh_id != 1119) {
--	    if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
--		{ return MIG_SERVER_DIED; }
--	    else
--		{ return MIG_REPLY_MISMATCH; }
--	}
--
--#if	__MigTypeCheck
--	msgh_size = Out0P->Head.msgh_size;
--
--	if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
--	    ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
--	     (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
--	      Out0P->RetCode == KERN_SUCCESS)))
--		{ return MIG_TYPE_ERROR ; }
--#endif	/* __MigTypeCheck */
--
--	if (Out0P->RetCode != KERN_SUCCESS) {
--#ifdef	__NDR_convert__mig_reply_error_t__defined
--		__NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
--#endif	/* __NDR_convert__mig_reply_error_t__defined */
--		return ((mig_reply_error_t *)Out0P)->RetCode;
--	}
--
--#if	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
--	defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--	if (Out0P->NDR.int_rep != NDR_record.int_rep) {
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__RetCode__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--#if defined(__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--		__NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.int_rep);
--#endif /* __NDR_convert__int_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__int_rep...) */
+-	InP->Head.msgh_request_port = client_port;
+-	InP->Head.msgh_reply_port = MACH_PORT_NULL;
+-	InP->Head.msgh_id = 1001;
 -
--#if	0 || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
--	defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--	if (Out0P->NDR.char_rep != NDR_record.char_rep) {
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--#if defined(__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--		__NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.char_rep);
--#endif /* __NDR_convert__char_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
--	}
--#endif	/* defined(__NDR_convert__char_rep...) */
+-	__BeforeSendSimple(1001, "rpc_jack_client_async_notify")
+-	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_SEND_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), 0, MACH_PORT_NULL, 5000, MACH_PORT_NULL);
+-	__AfterSendSimple(1001, "rpc_jack_client_async_notify")
 -
--#if	0 || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined) || \
--	defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--	if (Out0P->NDR.float_rep != NDR_record.float_rep) {
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status(&Out0P->status, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__status__defined */
--#if defined(__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined)
--		__NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result(&Out0P->result, Out0P->NDR.float_rep);
--#endif /* __NDR_convert__float_rep__Reply__rpc_jack_internal_clientunload_t__result__defined */
+-	if (msg_result == MACH_SEND_TIMED_OUT) {
 -	}
--#endif	/* defined(__NDR_convert__float_rep...) */
 -
--	return MACH_MSG_SUCCESS;
+-	return msg_result;
 -}
--#endif /* !defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined) */
--#endif /* __MIG_check__Reply__JackRPCEngine_subsystem__ */
--#endif /* ( __MigTypeCheck || __NDR_convert__ ) */
--
--
--/* Routine rpc_jack_internal_clientunload */
--mig_external kern_return_t rpc_jack_internal_clientunload
--(
--	mach_port_t server_port,
--	int refnum,
--	int int_ref,
--	int *status,
--	int *result
--)
--{
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int int_ref;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int status;
--		int result;
--		mach_msg_trailer_t trailer;
--	} Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		kern_return_t RetCode;
--		int status;
--		int result;
--	} __Reply;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
--
--	union {
--		Request In;
--		Reply Out;
--	} Mess;
--
--	Request *InP = &Mess.In;
--	Reply *Out0P = &Mess.Out;
--
--	mach_msg_return_t msg_result;
--
--#ifdef	__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_internal_clientunload_t__defined */
--
--	__DeclareSendRpc(1019, "rpc_jack_internal_clientunload")
+--- a/macosx/Jack-Info.plist
++++ b/macosx/Jack-Info.plist
+@@ -7,7 +7,7 @@
+ 	<key>CFBundleExecutable</key>
+ 	<string>Jackservermp</string>
+ 	<key>CFBundleGetInfoString</key>
+-	<string>Jackdmp 1.9.6, @03-10 Paul Davis, Grame</string>
++	<string>Jackdmp 1.9.7, @03-10 Paul Davis, Grame</string>
+ 	<key>CFBundleIdentifier</key>
+ 	<string>com.grame.Jackmp</string>
+ 	<key>CFBundleInfoDictionaryVersion</key>
+@@ -19,6 +19,6 @@
+ 	<key>CFBundleSignature</key>
+ 	<string>????</string>
+ 	<key>CFBundleVersion</key>
+-	<string>1.9.6</string>
++	<string>1.9.7</string>
+ </dict>
+ </plist>
+--- a/macosx/JackPlatformPlug_os.h
++++ b/macosx/JackPlatformPlug_os.h
+@@ -26,14 +26,18 @@
+ 
+ namespace Jack
+ {       
++    struct JackRequest;
++    struct JackResult;
++    
+ 	class JackPosixMutex;
+ 	class JackMachThread;
+ 	class JackMachSemaphore;
 -
--	InP->NDR = NDR_record;
+-	class JackMachServerChannel;
+-	class JackMachClientChannel;
+-	class JackMachServerNotifyChannel;
+-	class JackMachNotifyChannel;
++    
++    class JackSocketServerChannel;
++    class JackSocketClientChannel;
++    class JackSocketServerNotifyChannel;
++    class JackSocketNotifyChannel;
++    
+ 	class JackNetUnixSocket;
+ }
+ 
+@@ -49,25 +53,28 @@
+ #include "JackMachSemaphore.h"
+ namespace Jack { typedef JackMachSemaphore JackSynchro; }
+ 
++#include "JackSocket.h"
++namespace Jack { typedef JackClientSocket JackChannelTransaction; }
++
+ /* __JackPlatformProcessSync__ */
+ #include "JackProcessSync.h"
+ /* Only on windows a special JackProcessSync is used. It is directly defined by including JackProcessSync.h here */
+ 
+ /* __JackPlatformServerChannel__ */ 
+-#include "JackMachServerChannel.h"
+-namespace Jack { typedef JackMachServerChannel JackServerChannel; }
++#include "JackSocketServerChannel.h"
++namespace Jack { typedef JackSocketServerChannel JackServerChannel; }
+ 
+ /* __JackPlatformClientChannel__ */
+-#include "JackMachClientChannel.h"
+-namespace Jack { typedef JackMachClientChannel JackClientChannel; }
++#include "JackSocketClientChannel.h"
++namespace Jack { typedef JackSocketClientChannel JackClientChannel; }
+ 
+ /* __JackPlatformServerNotifyChannel__ */
+-#include "JackMachServerNotifyChannel.h"
+-namespace Jack { typedef JackMachServerNotifyChannel JackServerNotifyChannel; }
++#include "JackSocketServerNotifyChannel.h"
++namespace Jack { typedef JackSocketServerNotifyChannel JackServerNotifyChannel; }
+ 
+ /* __JackPlatformNotifyChannel__ */
+-#include "JackMachNotifyChannel.h"
+-namespace Jack { typedef JackMachNotifyChannel JackNotifyChannel; }
++#include "JackSocketNotifyChannel.h"
++namespace Jack { typedef JackSocketNotifyChannel JackNotifyChannel; }
+ 
+ /* __JackPlatformNetSocket__ */
+ #include "JackNetUnixSocket.h"
+--- a/macosx/Jackdmp.xcodeproj/project.pbxproj
++++ b/macosx/Jackdmp.xcodeproj/project.pbxproj
+@@ -47,6 +47,7 @@
+ 				4BFA833A0DF6AB540087B4E1 /* PBXTargetDependency */,
+ 				4BFA833C0DF6AB540087B4E1 /* PBXTargetDependency */,
+ 				4B32258F10A31AB400838A8E /* PBXTargetDependency */,
++				4B66550E127C356E00753A79 /* PBXTargetDependency */,
+ 			);
+ 			name = "All Universal 32/64 bits";
+ 			productName = All;
+@@ -132,7 +133,6 @@
+ 		4B32258010A3195A00838A8E /* netjack_packet.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3224ED10A315C400838A8E /* netjack_packet.h */; };
+ 		4B32258110A3195B00838A8E /* netsource.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B32256310A318E300838A8E /* netsource.c */; };
+ 		4B35C41E0D4731D1000DE7AE /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; };
+-		4B35C4290D4731D1000DE7AE /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4B35C42A0D4731D1000DE7AE /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4B35C42B0D4731D1000DE7AE /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4B35C42C0D4731D1000DE7AE /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -153,7 +153,6 @@
+ 		4B35C43D0D4731D1000DE7AE /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
+ 		4B35C43E0D4731D1000DE7AE /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
+ 		4B35C43F0D4731D1000DE7AE /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
+-		4B35C4400D4731D1000DE7AE /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
+ 		4B35C4460D4731D1000DE7AE /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
+ 		4B35C4470D4731D1000DE7AE /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
+ 		4B35C4480D4731D1000DE7AE /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+@@ -170,9 +169,6 @@
+ 		4B35C4530D4731D1000DE7AE /* JackMidiPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B80D7E50BA0D17400F035BB /* JackMidiPort.h */; };
+ 		4B35C4540D4731D1000DE7AE /* midiport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6B9EF50CD0958B0051EE5A /* midiport.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 		4B35C4550D4731D1000DE7AE /* JackTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE4CC000CDA153400CCF5BB /* JackTools.h */; };
+-		4B35C4580D4731D1000DE7AE /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
+-		4B35C4590D4731D1000DE7AE /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
+-		4B35C45A0D4731D1000DE7AE /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4B35C45B0D4731D1000DE7AE /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4B35C45C0D4731D1000DE7AE /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4B35C45E0D4731D1000DE7AE /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -186,7 +182,6 @@
+ 		4B35C4660D4731D1000DE7AE /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
+ 		4B35C4680D4731D1000DE7AE /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
+ 		4B35C4690D4731D1000DE7AE /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
+-		4B35C46A0D4731D1000DE7AE /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
+ 		4B35C4700D4731D1000DE7AE /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
+ 		4B35C4720D4731D1000DE7AE /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
+ 		4B35C4730D4731D1000DE7AE /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
+@@ -198,7 +193,6 @@
+ 		4B35C47A0D4731D1000DE7AE /* JackMidiAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */; };
+ 		4B35C47B0D4731D1000DE7AE /* JackEngineControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */; };
+ 		4B35C47C0D4731D1000DE7AE /* JackTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE4CBFF0CDA153400CCF5BB /* JackTools.cpp */; };
+-		4B35C4870D4731D1000DE7AE /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4B35C4880D4731D1000DE7AE /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4B35C4890D4731D1000DE7AE /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4B35C48A0D4731D1000DE7AE /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -227,9 +221,6 @@
+ 		4B35C4A90D4731D1000DE7AE /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
+ 		4B35C4AA0D4731D1000DE7AE /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
+ 		4B35C4AB0D4731D1000DE7AE /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
+-		4B35C4AE0D4731D1000DE7AE /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
+-		4B35C4AF0D4731D1000DE7AE /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
+-		4B35C4B00D4731D1000DE7AE /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
+ 		4B35C4B20D4731D1000DE7AE /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+ 		4B35C4B30D4731D1000DE7AE /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; };
+ 		4B35C4B40D4731D1000DE7AE /* JackServerGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC2168D0A444BED00BDA09F /* JackServerGlobals.h */; };
+@@ -246,7 +237,6 @@
+ 		4B35C4BF0D4731D1000DE7AE /* midiport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6B9EF50CD0958B0051EE5A /* midiport.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 		4B35C4C00D4731D1000DE7AE /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
+ 		4B35C4C10D4731D1000DE7AE /* JackTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE4CC000CDA153400CCF5BB /* JackTools.h */; };
+-		4B35C4C40D4731D1000DE7AE /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4B35C4C50D4731D1000DE7AE /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4B35C4C60D4731D1000DE7AE /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4B35C4C80D4731D1000DE7AE /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -268,12 +258,7 @@
+ 		4B35C4DD0D4731D1000DE7AE /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
+ 		4B35C4DE0D4731D1000DE7AE /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
+ 		4B35C4DF0D4731D1000DE7AE /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
+-		4B35C4E00D4731D1000DE7AE /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
+ 		4B35C4E20D4731D1000DE7AE /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
+-		4B35C4E60D4731D1000DE7AE /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
+-		4B35C4E70D4731D1000DE7AE /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
+-		4B35C4E80D4731D1000DE7AE /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
+-		4B35C4E90D4731D1000DE7AE /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
+ 		4B35C4EB0D4731D1000DE7AE /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; };
+ 		4B35C4EC0D4731D1000DE7AE /* JackServerAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F50834EFB000C94B91 /* JackServerAPI.cpp */; };
+ 		4B35C4ED0D4731D1000DE7AE /* JackServerGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC216880A444BDE00BDA09F /* JackServerGlobals.cpp */; };
+@@ -322,7 +307,6 @@
+ 		4B43A8CB1014605000E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; };
+ 		4B43A8DF1014615800E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; };
+ 		4B43A8E11014615800E52943 /* JackLoopbackDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B43A8C81014605000E52943 /* JackLoopbackDriver.cpp */; };
+-		4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4B47AC8310B5890100469C67 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4B47AC8410B5890100469C67 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -343,7 +327,6 @@
+ 		4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
+ 		4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
+ 		4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
+-		4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
+ 		4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
+ 		4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
+ 		4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+@@ -364,9 +347,6 @@
+ 		4B47ACA910B5890100469C67 /* JackMessageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4F9C8B0DC20C0400706CB0 /* JackMessageBuffer.h */; };
+ 		4B47ACAA10B5890100469C67 /* JackPosixThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6A30E703B2E0066E42F /* JackPosixThread.h */; };
+ 		4B47ACAB10B5890100469C67 /* JackProcessSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BECB2F40F4451C10091B70A /* JackProcessSync.h */; };
+-		4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
+-		4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
+-		4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4B47ACB210B5890100469C67 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -380,7 +360,6 @@
+ 		4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
+ 		4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
+ 		4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
+-		4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
+ 		4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
+ 		4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
+ 		4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
+@@ -433,8 +412,8 @@
+ 		4B5F253E0DEE9B8F0041E486 /* JackLockedEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */; };
+ 		4B60CE490AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; };
+ 		4B60CE4A0AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; };
++		4B6654FC127C350100753A79 /* server_control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6654FB127C350100753A79 /* server_control.cpp */; };
+ 		4B699BAA097D421600A18468 /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; };
+-		4B699C02097D421600A18468 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4B699C03097D421600A18468 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4B699C04097D421600A18468 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4B699C05097D421600A18468 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -455,13 +434,9 @@
+ 		4B699C16097D421600A18468 /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; };
+ 		4B699C17097D421600A18468 /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; };
+ 		4B699C18097D421600A18468 /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; };
+-		4B699C19097D421600A18468 /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; };
+ 		4B699C20097D421600A18468 /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; };
+ 		4B699C21097D421600A18468 /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; };
+ 		4B699C22097D421600A18468 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+-		4B699C25097D421600A18468 /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; };
+-		4B699C26097D421600A18468 /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; };
+-		4B699C27097D421600A18468 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4B699C28097D421600A18468 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4B699C29097D421600A18468 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4B699C2B097D421600A18468 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -475,11 +450,9 @@
+ 		4B699C33097D421600A18468 /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; };
+ 		4B699C35097D421600A18468 /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; };
+ 		4B699C36097D421600A18468 /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; };
+-		4B699C37097D421600A18468 /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; };
+ 		4B699C3D097D421600A18468 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; };
+ 		4B699C3F097D421600A18468 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; };
+ 		4B699C40097D421600A18468 /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; };
+-		4B699C4E097D421600A18468 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4B699C4F097D421600A18468 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4B699C50097D421600A18468 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4B699C51097D421600A18468 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -508,11 +481,7 @@
+ 		4B699C71097D421600A18468 /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
+ 		4B699C73097D421600A18468 /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
+ 		4B699C74097D421600A18468 /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
+-		4B699C77097D421600A18468 /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
+-		4B699C78097D421600A18468 /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
+-		4B699C79097D421600A18468 /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
+ 		4B699C7B097D421600A18468 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+-		4B699C7E097D421600A18468 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4B699C7F097D421600A18468 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4B699C80097D421600A18468 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4B699C82097D421600A18468 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -534,12 +503,7 @@
+ 		4B699C97097D421600A18468 /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
+ 		4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
+ 		4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
+-		4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
+ 		4B699C9D097D421600A18468 /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
+-		4B699CA1097D421600A18468 /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
+-		4B699CA2097D421600A18468 /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
+-		4B699CA3097D421600A18468 /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
+-		4B699CA4097D421600A18468 /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
+ 		4B699CB4097D421600A18468 /* metro.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D16B0834EDF000C94B91 /* metro.c */; };
+ 		4B699CC4097D421600A18468 /* lsp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1690834EDE600C94B91 /* lsp.c */; };
+ 		4B699CF6097D421600A18468 /* freewheel.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1710834EE0F00C94B91 /* freewheel.c */; };
+@@ -584,6 +548,18 @@
+ 		4B88D04411298BEE007A87C1 /* weakmacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03A11298BEE007A87C1 /* weakmacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 		4B88D04511298BEE007A87C1 /* weakjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03911298BEE007A87C1 /* weakjack.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 		4B88D04611298BEE007A87C1 /* weakmacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B88D03A11298BEE007A87C1 /* weakmacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
++		4B8A38A7117B80D300664E07 /* JackSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AD0E703B8D0066E42F /* JackSocket.cpp */; };
++		4B8A38A8117B80DA00664E07 /* JackSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6AE0E703B8D0066E42F /* JackSocket.h */; };
++		4B8A38AD117B810A00664E07 /* JackSocketNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B20E703B8D0066E42F /* JackSocketNotifyChannel.h */; };
++		4B8A38AE117B811100664E07 /* JackSocketNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B10E703B8D0066E42F /* JackSocketNotifyChannel.cpp */; };
++		4B8A38B0117B812500664E07 /* JackSocketServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B40E703B8D0066E42F /* JackSocketServerChannel.h */; };
++		4B8A38B1117B812D00664E07 /* JackSocketServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B30E703B8D0066E42F /* JackSocketServerChannel.cpp */; };
++		4B8A38B2117B813400664E07 /* JackSocketServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6B50E703B8D0066E42F /* JackSocketServerNotifyChannel.cpp */; };
++		4B8A38C4117B814000664E07 /* JackSocketServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B60E703B8D0066E42F /* JackSocketServerNotifyChannel.h */; };
++		4B8A38F0117B827900664E07 /* JackSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6AE0E703B8D0066E42F /* JackSocket.h */; };
++		4B8A38F1117B827E00664E07 /* JackSocketClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AF0E703B8D0066E42F /* JackSocketClientChannel.cpp */; };
++		4B8A38F6117B82AB00664E07 /* JackSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6AD0E703B8D0066E42F /* JackSocket.cpp */; };
++		4B8A38F7117B82B200664E07 /* JackSocketClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6B00E703B8D0066E42F /* JackSocketClientChannel.h */; };
+ 		4B93F1990E87992100E4ECCD /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6A20E703B2E0066E42F /* JackPosixThread.cpp */; };
+ 		4B93F19A0E87992200E4ECCD /* JackPosixThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6A30E703B2E0066E42F /* JackPosixThread.h */; };
+ 		4B93F19C0E87998200E4ECCD /* JackPosixServerLaunch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF5FBBA0E878B9C003D2374 /* JackPosixServerLaunch.cpp */; };
+@@ -604,7 +580,6 @@
+ 		4B9A26610DBF8ADD006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
+ 		4B9A26640DBF8B14006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
+ 		4B9A26790DBF8B88006E9FBC /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; };
+-		4BA3393510B2E36800190E3B /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; };
+ 		4BA3393610B2E36800190E3B /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; };
+ 		4BA3393710B2E36800190E3B /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; };
+ 		4BA3393810B2E36800190E3B /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; };
+@@ -633,9 +608,6 @@
+ 		4BA3394F10B2E36800190E3B /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; };
+ 		4BA3395010B2E36800190E3B /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; };
+ 		4BA3395110B2E36800190E3B /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; };
+-		4BA3395210B2E36800190E3B /* JackMachNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */; };
+-		4BA3395310B2E36800190E3B /* JackMachServerChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */; };
+-		4BA3395410B2E36800190E3B /* JackMachServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */; };
+ 		4BA3395510B2E36800190E3B /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; };
+ 		4BA3395610B2E36800190E3B /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; };
+ 		4BA3395710B2E36800190E3B /* JackServerGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC2168D0A444BED00BDA09F /* JackServerGlobals.h */; };
+@@ -663,7 +635,6 @@
+ 		4BA3396D10B2E36800190E3B /* JackMidiDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF339200F8B873E0080FB5B /* JackMidiDriver.h */; };
+ 		4BA3396E10B2E36800190E3B /* JackWaitThreadedDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BBC93B90DF9736C002DF220 /* JackWaitThreadedDriver.h */; };
+ 		4BA3396F10B2E36800190E3B /* JackArgParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF284170F31B4BC00B05BE3 /* JackArgParser.h */; };
+-		4BA3397210B2E36800190E3B /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; };
+ 		4BA3397310B2E36800190E3B /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; };
+ 		4BA3397410B2E36800190E3B /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; };
+ 		4BA3397510B2E36800190E3B /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; };
+@@ -685,12 +656,7 @@
+ 		4BA3398510B2E36800190E3B /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; };
+ 		4BA3398610B2E36800190E3B /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; };
+ 		4BA3398710B2E36800190E3B /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; };
+-		4BA3398810B2E36800190E3B /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; };
+ 		4BA3398910B2E36800190E3B /* JackServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2210834F05C00C94B91 /* JackServer.cpp */; };
+-		4BA3398A10B2E36800190E3B /* JackMacEngineRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */; };
+-		4BA3398B10B2E36800190E3B /* JackMachNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */; };
+-		4BA3398C10B2E36800190E3B /* JackMachServerChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */; };
+-		4BA3398D10B2E36800190E3B /* JackMachServerNotifyChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */; };
+ 		4BA3398E10B2E36800190E3B /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; };
+ 		4BA3398F10B2E36800190E3B /* JackServerAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F50834EFB000C94B91 /* JackServerAPI.cpp */; };
+ 		4BA3399010B2E36800190E3B /* JackServerGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC216880A444BDE00BDA09F /* JackServerGlobals.cpp */; };
+@@ -1146,6 +1112,13 @@
+ 			remoteGlobalIDString = 4B5A1BD00CD1CCE10005BF74;
+ 			remoteInfo = jack_midisine;
+ 		};
++		4B66550D127C356E00753A79 /* PBXContainerItemProxy */ = {
++			isa = PBXContainerItemProxy;
++			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
++			proxyType = 1;
++			remoteGlobalIDString = 4B6654ED127C34AE00753A79;
++			remoteInfo = "jack_server_control 64 bits";
++		};
+ 		4B699DB3097D421700A18468 /* PBXContainerItemProxy */ = {
+ 			isa = PBXContainerItemProxy;
+ 			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+@@ -1497,7 +1470,6 @@
+ 		4B37C20406DF1FBE0016E567 /* CALatencyLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CALatencyLog.h; path = /Developer/Examples/CoreAudio/PublicUtility/CALatencyLog.h; sourceTree = "<absolute>"; };
+ 		4B37C20906DF1FE20016E567 /* latency.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = latency.c; path = /Developer/Examples/CoreAudio/PublicUtility/latency.c; sourceTree = "<absolute>"; };
+ 		4B3F49070AD8503300491C6E /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = ../tests/cpu.c; sourceTree = SOURCE_ROOT; };
+-		4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacEngineRPC.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B43A8BA10145F6F00E52943 /* jack_loopback.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = jack_loopback.so; sourceTree = BUILT_PRODUCTS_DIR; };
+ 		4B43A8C81014605000E52943 /* JackLoopbackDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackLoopbackDriver.cpp; path = ../common/JackLoopbackDriver.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B43A8C91014605000E52943 /* JackLoopbackDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackLoopbackDriver.h; path = ../common/JackLoopbackDriver.h; sourceTree = SOURCE_ROOT; };
+@@ -1520,6 +1492,8 @@
+ 		4B5E08E00E5B676C00BEE4E0 /* JackNetAdapter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackNetAdapter.h; path = ../common/JackNetAdapter.h; sourceTree = SOURCE_ROOT; };
+ 		4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackLockedEngine.h; path = ../common/JackLockedEngine.h; sourceTree = SOURCE_ROOT; };
+ 		4B60CE480AAABA31004956AA /* connect.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = connect.c; path = "../example-clients/connect.c"; sourceTree = SOURCE_ROOT; };
++		4B6654F7127C34AE00753A79 /* jack_server_control */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_server_control; sourceTree = BUILT_PRODUCTS_DIR; };
++		4B6654FB127C350100753A79 /* server_control.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = server_control.cpp; path = "../example-clients/server_control.cpp"; sourceTree = SOURCE_ROOT; };
+ 		4B66A8580934964500A89560 /* JackConstants.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackConstants.h; path = ../common/JackConstants.h; sourceTree = SOURCE_ROOT; };
+ 		4B699BB1097D421600A18468 /* jackdmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jackdmp; sourceTree = BUILT_PRODUCTS_DIR; };
+ 		4B699C47097D421600A18468 /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+@@ -1549,8 +1523,6 @@
+ 		4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackEngineControl.cpp; path = ../common/JackEngineControl.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B76C7680E5AB2DB00E2AC21 /* JackNetInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackNetInterface.cpp; path = ../common/JackNetInterface.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B76C7690E5AB2DB00E2AC21 /* JackNetInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackNetInterface.h; path = ../common/JackNetInterface.h; sourceTree = SOURCE_ROOT; };
+-		4B799AD607899652003F3F15 /* JackMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachPort.cpp; sourceTree = "<group>"; };
+-		4B799AD707899652003F3F15 /* JackMachPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachPort.h; sourceTree = "<group>"; };
+ 		4B80D7E50BA0D17400F035BB /* JackMidiPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackMidiPort.h; path = ../common/JackMidiPort.h; sourceTree = SOURCE_ROOT; };
+ 		4B80D7E60BA0D17400F035BB /* JackMidiPort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiPort.cpp; path = ../common/JackMidiPort.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiAPI.cpp; path = ../common/JackMidiAPI.cpp; sourceTree = SOURCE_ROOT; };
+@@ -1559,8 +1531,6 @@
+ 		4B869D7F08C9CB00001CF041 /* JackDriverLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackDriverLoader.cpp; path = ../common/JackDriverLoader.cpp; sourceTree = SOURCE_ROOT; };
+ 		4B88D03911298BEE007A87C1 /* weakjack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = weakjack.h; path = ../common/jack/weakjack.h; sourceTree = SOURCE_ROOT; };
+ 		4B88D03A11298BEE007A87C1 /* weakmacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = weakmacros.h; path = ../common/jack/weakmacros.h; sourceTree = SOURCE_ROOT; };
+-		4B89B759076B731100D170DE /* JackRPCClientUser.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = JackRPCClientUser.c; path = RPC/JackRPCClientUser.c; sourceTree = SOURCE_ROOT; };
+-		4B89B769076B74D200D170DE /* JackRPCEngineUser.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = JackRPCEngineUser.c; path = RPC/JackRPCEngineUser.c; sourceTree = SOURCE_ROOT; };
+ 		4B940B9B06DDDE5B00D77F60 /* AudioHardware.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AudioHardware.h; path = /System/Library/Frameworks/CoreAudio.framework/Versions/A/Headers/AudioHardware.h; sourceTree = "<absolute>"; };
+ 		4B94334910A5E666002A187F /* systemdeps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = systemdeps.h; path = ../common/jack/systemdeps.h; sourceTree = SOURCE_ROOT; };
+ 		4B95BCAD0D913073000F7695 /* control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = control.h; path = ../common/jack/control.h; sourceTree = SOURCE_ROOT; };
+@@ -1645,7 +1615,6 @@
+ 		4BF339150F8B86DC0080FB5B /* JackCoreMidiDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackCoreMidiDriver.cpp; path = coremidi/JackCoreMidiDriver.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BF3391F0F8B873E0080FB5B /* JackMidiDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackMidiDriver.cpp; path = ../common/JackMidiDriver.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BF339200F8B873E0080FB5B /* JackMidiDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackMidiDriver.h; path = ../common/JackMidiDriver.h; sourceTree = SOURCE_ROOT; };
+-		4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacLibClientRPC.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BF4BAB00E3480AB00403CDF /* JackAudioAdapterFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioAdapterFactory.cpp; path = ../common/JackAudioAdapterFactory.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BF520520CB8D0E80037470E /* timestamps.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = timestamps.c; path = ../common/timestamps.c; sourceTree = SOURCE_ROOT; };
+ 		4BF520580CB8D1010037470E /* timestamps.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = timestamps.h; path = ../common/timestamps.h; sourceTree = SOURCE_ROOT; };
+@@ -1718,14 +1687,6 @@
+ 		4BFA82CF0DF6A9E40087B4E1 /* jack_impulse_grabber */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_impulse_grabber; sourceTree = BUILT_PRODUCTS_DIR; };
+ 		4BFA99A20AAAF3B0009E916C /* jdelay */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jdelay; sourceTree = BUILT_PRODUCTS_DIR; };
+ 		4BFA99A90AAAF40C009E916C /* jdelay.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = jdelay.cpp; path = ../tests/jdelay.cpp; sourceTree = SOURCE_ROOT; };
+-		4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachServerNotifyChannel.cpp; sourceTree = "<group>"; };
+-		4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachServerChannel.h; sourceTree = "<group>"; };
+-		4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachServerChannel.cpp; sourceTree = "<group>"; };
+-		4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachServerNotifyChannel.h; sourceTree = "<group>"; };
+-		4BFB298708AF450200D450D4 /* JackMachClientChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachClientChannel.h; sourceTree = "<group>"; };
+-		4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachNotifyChannel.cpp; sourceTree = "<group>"; };
+-		4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachNotifyChannel.h; sourceTree = "<group>"; };
+-		4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachClientChannel.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BFB73F608AD291A00DB99B8 /* JackGlobals.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackGlobals.h; path = ../common/JackGlobals.h; sourceTree = SOURCE_ROOT; };
+ 		4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachThread.cpp; sourceTree = SOURCE_ROOT; };
+ 		4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachThread.h; sourceTree = SOURCE_ROOT; };
+@@ -2072,6 +2033,13 @@
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
++		4B6654F1127C34AE00753A79 /* Frameworks */ = {
++			isa = PBXFrameworksBuildPhase;
++			buildActionMask = 2147483647;
++			files = (
++			);
++			runOnlyForDeploymentPostprocessing = 0;
++		};
+ 		4B699BAB097D421600A18468 /* Frameworks */ = {
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+@@ -2499,6 +2467,7 @@
+ 				4B32257B10A3190C00838A8E /* jack_netsource */,
+ 				4BA339AC10B2E36800190E3B /* Jackservermp.framework */,
+ 				4B47ACD710B5890100469C67 /* Jackmp.framework */,
++				4B6654F7127C34AE00753A79 /* jack_server_control */,
+ 			);
+ 			name = Products;
+ 			sourceTree = "<group>";
+@@ -2506,6 +2475,7 @@
+ 		4B03383E0797E19900686131 /* Simple clients */ = {
+ 			isa = PBXGroup;
+ 			children = (
++				4B6654FB127C350100753A79 /* server_control.cpp */,
+ 				4B363F750DEB0D7D001F72D9 /* impulse_grabber.c */,
+ 				4B363F220DEB0AB0001F72D9 /* monitor_client.c */,
+ 				4B363EED0DEB094B001F72D9 /* capture_client.c */,
+@@ -2627,24 +2597,6 @@
+ 			name = Additional;
+ 			sourceTree = "<group>";
+ 		};
+-		4B168CA3076A5319005B2802 /* MIG_RPC */ = {
+-			isa = PBXGroup;
+-			children = (
+-				4B89B759076B731100D170DE /* JackRPCClientUser.c */,
+-				4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */,
+-			);
+-			name = MIG_RPC;
+-			sourceTree = "<group>";
+-		};
+-		4B168CA4076A5333005B2802 /* MIG_RPC */ = {
+-			isa = PBXGroup;
+-			children = (
+-				4B89B769076B74D200D170DE /* JackRPCEngineUser.c */,
+-				4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */,
+-			);
+-			name = MIG_RPC;
+-			sourceTree = "<group>";
+-		};
+ 		4B19B3010E23629800DD4A82 /* Adapter */ = {
+ 			isa = PBXGroup;
+ 			children = (
+@@ -2818,7 +2770,6 @@
+ 		4BA550F905E241D900569492 /* Library */ = {
+ 			isa = PBXGroup;
+ 			children = (
+-				4B168CA4076A5333005B2802 /* MIG_RPC */,
+ 				4BF8D1FB0834EFD100C94B91 /* JackLibGlobals.h */,
+ 				4BF8D1FC0834EFD100C94B91 /* JackLibClient.h */,
+ 				4BF8D1FD0834EFD100C94B91 /* JackLibClient.cpp */,
+@@ -2844,7 +2795,6 @@
+ 		4BA550FB05E2420000569492 /* Engine */ = {
+ 			isa = PBXGroup;
+ 			children = (
+-				4B168CA3076A5319005B2802 /* MIG_RPC */,
+ 				4B5F253D0DEE9B8F0041E486 /* JackLockedEngine.h */,
+ 				4BF8D2130834F02800C94B91 /* JackEngine.h */,
+ 				4BF8D2140834F02800C94B91 /* JackEngine.cpp */,
+@@ -2872,7 +2822,6 @@
+ 				4BB371D40C1AD85A0050C1E4 /* JackNotification.h */,
+ 				4BF8D1B30834EED500C94B91 /* JackInternalClientChannel.h */,
+ 				4BFB299908AF452300D450D4 /* Socket */,
+-				4BFB299808AF451200D450D4 /* Mach */,
+ 			);
+ 			name = Channels;
+ 			sourceTree = "<group>";
+@@ -2963,23 +2912,6 @@
+ 			name = MIDI;
+ 			sourceTree = "<group>";
+ 		};
+-		4BFB299808AF451200D450D4 /* Mach */ = {
+-			isa = PBXGroup;
+-			children = (
+-				4B799AD707899652003F3F15 /* JackMachPort.h */,
+-				4B799AD607899652003F3F15 /* JackMachPort.cpp */,
+-				4BFB298708AF450200D450D4 /* JackMachClientChannel.h */,
+-				4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */,
+-				4BFB297808AF44ED00D450D4 /* JackMachServerChannel.h */,
+-				4BFB297908AF44ED00D450D4 /* JackMachServerChannel.cpp */,
+-				4BFB297A08AF44ED00D450D4 /* JackMachServerNotifyChannel.h */,
+-				4BFB297708AF44ED00D450D4 /* JackMachServerNotifyChannel.cpp */,
+-				4BFB298908AF450200D450D4 /* JackMachNotifyChannel.h */,
+-				4BFB298808AF450200D450D4 /* JackMachNotifyChannel.cpp */,
+-			);
+-			name = Mach;
+-			sourceTree = "<group>";
+-		};
+ 		4BFB299908AF452300D450D4 /* Socket */ = {
+ 			isa = PBXGroup;
+ 			children = (
+@@ -3110,7 +3042,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B35C4290D4731D1000DE7AE /* JackMachPort.h in Headers */,
+ 				4B35C42A0D4731D1000DE7AE /* JackError.h in Headers */,
+ 				4B35C42B0D4731D1000DE7AE /* JackTime.h in Headers */,
+ 				4B35C42C0D4731D1000DE7AE /* JackShmMem.h in Headers */,
+@@ -3131,7 +3062,6 @@
+ 				4B35C43D0D4731D1000DE7AE /* JackMachSemaphore.h in Headers */,
+ 				4B35C43E0D4731D1000DE7AE /* JackGlobals.h in Headers */,
+ 				4B35C43F0D4731D1000DE7AE /* JackMachThread.h in Headers */,
+-				4B35C4400D4731D1000DE7AE /* JackMachClientChannel.h in Headers */,
+ 				4B35C4460D4731D1000DE7AE /* JackSynchro.h in Headers */,
+ 				4B35C4470D4731D1000DE7AE /* JackDebugClient.h in Headers */,
+ 				4B35C4480D4731D1000DE7AE /* JackConstants.h in Headers */,
+@@ -3154,6 +3084,8 @@
+ 				4BECB2FA0F4451C10091B70A /* JackProcessSync.h in Headers */,
+ 				4B88D03F11298BEE007A87C1 /* weakjack.h in Headers */,
+ 				4B88D04011298BEE007A87C1 /* weakmacros.h in Headers */,
++				4B8A38F0117B827900664E07 /* JackSocket.h in Headers */,
++				4B8A38F7117B82B200664E07 /* JackSocketClientChannel.h in Headers */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -3161,7 +3093,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B35C4870D4731D1000DE7AE /* JackMachPort.h in Headers */,
+ 				4B35C4880D4731D1000DE7AE /* JackError.h in Headers */,
+ 				4B35C4890D4731D1000DE7AE /* JackTime.h in Headers */,
+ 				4B35C48A0D4731D1000DE7AE /* JackShmMem.h in Headers */,
+@@ -3190,9 +3121,6 @@
+ 				4B35C4A90D4731D1000DE7AE /* JackEngine.h in Headers */,
+ 				4B35C4AA0D4731D1000DE7AE /* JackExternalClient.h in Headers */,
+ 				4B35C4AB0D4731D1000DE7AE /* JackServer.h in Headers */,
+-				4B35C4AE0D4731D1000DE7AE /* JackMachNotifyChannel.h in Headers */,
+-				4B35C4AF0D4731D1000DE7AE /* JackMachServerChannel.h in Headers */,
+-				4B35C4B00D4731D1000DE7AE /* JackMachServerNotifyChannel.h in Headers */,
+ 				4B35C4B20D4731D1000DE7AE /* JackConstants.h in Headers */,
+ 				4B35C4B30D4731D1000DE7AE /* JackTransportEngine.h in Headers */,
+ 				4B35C4B40D4731D1000DE7AE /* JackServerGlobals.h in Headers */,
+@@ -3226,6 +3154,10 @@
+ 				4B88D04411298BEE007A87C1 /* weakmacros.h in Headers */,
+ 				4BC2CA5A113C6CB80076717C /* JackNetInterface.h in Headers */,
+ 				4BC2CA5C113C6CC00076717C /* JackNetUnixSocket.h in Headers */,
++				4B8A38A8117B80DA00664E07 /* JackSocket.h in Headers */,
++				4B8A38AD117B810A00664E07 /* JackSocketNotifyChannel.h in Headers */,
++				4B8A38B0117B812500664E07 /* JackSocketServerChannel.h in Headers */,
++				4B8A38C4117B814000664E07 /* JackSocketServerNotifyChannel.h in Headers */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -3464,7 +3396,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */,
+ 				4B47AC8310B5890100469C67 /* JackError.h in Headers */,
+ 				4B47AC8410B5890100469C67 /* JackTime.h in Headers */,
+ 				4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */,
+@@ -3485,7 +3416,6 @@
+ 				4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */,
+ 				4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */,
+ 				4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */,
+-				4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */,
+ 				4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */,
+ 				4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */,
+ 				4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */,
+@@ -3536,6 +3466,13 @@
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
++		4B6654EE127C34AE00753A79 /* Headers */ = {
++			isa = PBXHeadersBuildPhase;
++			buildActionMask = 2147483647;
++			files = (
++			);
++			runOnlyForDeploymentPostprocessing = 0;
++		};
+ 		4B699BA8097D421600A18468 /* Headers */ = {
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+@@ -3547,7 +3484,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B699C02097D421600A18468 /* JackMachPort.h in Headers */,
+ 				4B699C03097D421600A18468 /* JackError.h in Headers */,
+ 				4B699C04097D421600A18468 /* JackTime.h in Headers */,
+ 				4B699C05097D421600A18468 /* JackShmMem.h in Headers */,
+@@ -3568,7 +3504,6 @@
+ 				4B699C16097D421600A18468 /* JackMachSemaphore.h in Headers */,
+ 				4B699C17097D421600A18468 /* JackGlobals.h in Headers */,
+ 				4B699C18097D421600A18468 /* JackMachThread.h in Headers */,
+-				4B699C19097D421600A18468 /* JackMachClientChannel.h in Headers */,
+ 				4B699C20097D421600A18468 /* JackSynchro.h in Headers */,
+ 				4B699C21097D421600A18468 /* JackDebugClient.h in Headers */,
+ 				4B699C22097D421600A18468 /* JackConstants.h in Headers */,
+@@ -3599,7 +3534,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B699C4E097D421600A18468 /* JackMachPort.h in Headers */,
+ 				4B699C4F097D421600A18468 /* JackError.h in Headers */,
+ 				4B699C50097D421600A18468 /* JackTime.h in Headers */,
+ 				4B699C51097D421600A18468 /* JackShmMem.h in Headers */,
+@@ -3628,9 +3562,6 @@
+ 				4B699C71097D421600A18468 /* JackEngine.h in Headers */,
+ 				4B699C73097D421600A18468 /* JackExternalClient.h in Headers */,
+ 				4B699C74097D421600A18468 /* JackServer.h in Headers */,
+-				4B699C77097D421600A18468 /* JackMachNotifyChannel.h in Headers */,
+-				4B699C78097D421600A18468 /* JackMachServerChannel.h in Headers */,
+-				4B699C79097D421600A18468 /* JackMachServerNotifyChannel.h in Headers */,
+ 				4B699C7B097D421600A18468 /* JackConstants.h in Headers */,
+ 				4BD4B4D809BACD9600750C0F /* JackTransportEngine.h in Headers */,
+ 				4BC2168E0A444BED00BDA09F /* JackServerGlobals.h in Headers */,
+@@ -3784,7 +3715,6 @@
+ 			isa = PBXHeadersBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4BA3393510B2E36800190E3B /* JackMachPort.h in Headers */,
+ 				4BA3393610B2E36800190E3B /* JackError.h in Headers */,
+ 				4BA3393710B2E36800190E3B /* JackTime.h in Headers */,
+ 				4BA3393810B2E36800190E3B /* JackShmMem.h in Headers */,
+@@ -3813,9 +3743,6 @@
+ 				4BA3394F10B2E36800190E3B /* JackEngine.h in Headers */,
+ 				4BA3395010B2E36800190E3B /* JackExternalClient.h in Headers */,
+ 				4BA3395110B2E36800190E3B /* JackServer.h in Headers */,
+-				4BA3395210B2E36800190E3B /* JackMachNotifyChannel.h in Headers */,
+-				4BA3395310B2E36800190E3B /* JackMachServerChannel.h in Headers */,
+-				4BA3395410B2E36800190E3B /* JackMachServerNotifyChannel.h in Headers */,
+ 				4BA3395510B2E36800190E3B /* JackConstants.h in Headers */,
+ 				4BA3395610B2E36800190E3B /* JackTransportEngine.h in Headers */,
+ 				4BA3395710B2E36800190E3B /* JackServerGlobals.h in Headers */,
+@@ -4878,6 +4805,25 @@
+ 			productReference = 4B5E08D50E5B66EE00BEE4E0 /* netadapter.so */;
+ 			productType = "com.apple.product-type.library.dynamic";
+ 		};
++		4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */ = {
++			isa = PBXNativeTarget;
++			buildConfigurationList = 4B6654F3127C34AE00753A79 /* Build configuration list for PBXNativeTarget "jack_server_control 64 bits" */;
++			buildPhases = (
++				4B6654EE127C34AE00753A79 /* Headers */,
++				4B6654EF127C34AE00753A79 /* Sources */,
++				4B6654F1127C34AE00753A79 /* Frameworks */,
++				4B6654F2127C34AE00753A79 /* Rez */,
++			);
++			buildRules = (
++			);
++			dependencies = (
++			);
++			name = "jack_server_control 64 bits";
++			productInstallPath = /usr/local/bin;
++			productName = testSem;
++			productReference = 4B6654F7127C34AE00753A79 /* jack_server_control */;
++			productType = "com.apple.product-type.tool";
++		};
+ 		4B699BA7097D421600A18468 /* jackdmp framework Universal */ = {
+ 			isa = PBXNativeTarget;
+ 			buildConfigurationList = 4B699BAD097D421600A18468 /* Build configuration list for PBXNativeTarget "jackdmp framework Universal" */;
+@@ -5642,6 +5588,7 @@
+ 			isa = PBXProject;
+ 			buildConfigurationList = 4B699DD5097D427F00A18468 /* Build configuration list for PBXProject "Jackdmp" */;
+ 			compatibilityVersion = "Xcode 2.4";
++			developmentRegion = English;
+ 			hasScannedForEncodings = 1;
+ 			knownRegions = (
+ 				English,
+@@ -5728,6 +5675,7 @@
+ 				4BFA82B90DF6A9E40087B4E1 /* jack_showtime 64 bits */,
+ 				4BFA82C50DF6A9E40087B4E1 /* jack_impulse_grabber 64 bits */,
+ 				4B32257110A3190C00838A8E /* jack_netsource 64 bits */,
++				4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */,
+ 				4B35C5D80D4731D2000DE7AE /* synchroServer 64 bits */,
+ 				4B35C5EC0D4731D2000DE7AE /* synchroClient 64 bits */,
+ 				4B35C6000D4731D2000DE7AE /* synchroServerClient 64 bits */,
+@@ -6044,6 +5992,13 @@
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
++		4B6654F2127C34AE00753A79 /* Rez */ = {
++			isa = PBXRezBuildPhase;
++			buildActionMask = 2147483647;
++			files = (
++			);
++			runOnlyForDeploymentPostprocessing = 0;
++		};
+ 		4B699BAC097D421600A18468 /* Rez */ = {
+ 			isa = PBXRezBuildPhase;
+ 			buildActionMask = 2147483647;
+@@ -6331,9 +6286,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B35C4580D4731D1000DE7AE /* JackMacLibClientRPC.cpp in Sources */,
+-				4B35C4590D4731D1000DE7AE /* JackRPCEngineUser.c in Sources */,
+-				4B35C45A0D4731D1000DE7AE /* JackMachPort.cpp in Sources */,
+ 				4B35C45B0D4731D1000DE7AE /* JackShmMem.cpp in Sources */,
+ 				4B35C45C0D4731D1000DE7AE /* shm.c in Sources */,
+ 				4B35C45E0D4731D1000DE7AE /* JackActivationCount.cpp in Sources */,
+@@ -6347,7 +6299,6 @@
+ 				4B35C4660D4731D1000DE7AE /* JackFrameTimer.cpp in Sources */,
+ 				4B35C4680D4731D1000DE7AE /* JackMachSemaphore.cpp in Sources */,
+ 				4B35C4690D4731D1000DE7AE /* JackMachThread.cpp in Sources */,
+-				4B35C46A0D4731D1000DE7AE /* JackMachClientChannel.cpp in Sources */,
+ 				4B35C4700D4731D1000DE7AE /* JackGlobals.cpp in Sources */,
+ 				4B35C4720D4731D1000DE7AE /* ringbuffer.c in Sources */,
+ 				4B35C4730D4731D1000DE7AE /* JackDebugClient.cpp in Sources */,
+@@ -6365,6 +6316,8 @@
+ 				4B93F19D0E87998400E4ECCD /* JackPosixThread.cpp in Sources */,
+ 				4B93F1C00E87A35400E4ECCD /* JackMachTime.c in Sources */,
+ 				4BECB2F90F4451C10091B70A /* JackProcessSync.cpp in Sources */,
++				4B8A38F1117B827E00664E07 /* JackSocketClientChannel.cpp in Sources */,
++				4B8A38F6117B82AB00664E07 /* JackSocket.cpp in Sources */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -6372,7 +6325,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B35C4C40D4731D1000DE7AE /* JackMachPort.cpp in Sources */,
+ 				4B35C4C50D4731D1000DE7AE /* JackShmMem.cpp in Sources */,
+ 				4B35C4C60D4731D1000DE7AE /* shm.c in Sources */,
+ 				4B35C4C80D4731D1000DE7AE /* JackActivationCount.cpp in Sources */,
+@@ -6394,12 +6346,7 @@
+ 				4B35C4DD0D4731D1000DE7AE /* JackEngine.cpp in Sources */,
+ 				4B35C4DE0D4731D1000DE7AE /* JackExternalClient.cpp in Sources */,
+ 				4B35C4DF0D4731D1000DE7AE /* JackInternalClient.cpp in Sources */,
+-				4B35C4E00D4731D1000DE7AE /* JackRPCClientUser.c in Sources */,
+ 				4B35C4E20D4731D1000DE7AE /* JackServer.cpp in Sources */,
+-				4B35C4E60D4731D1000DE7AE /* JackMacEngineRPC.cpp in Sources */,
+-				4B35C4E70D4731D1000DE7AE /* JackMachNotifyChannel.cpp in Sources */,
+-				4B35C4E80D4731D1000DE7AE /* JackMachServerChannel.cpp in Sources */,
+-				4B35C4E90D4731D1000DE7AE /* JackMachServerNotifyChannel.cpp in Sources */,
+ 				4B35C4EB0D4731D1000DE7AE /* JackTransportEngine.cpp in Sources */,
+ 				4B35C4EC0D4731D1000DE7AE /* JackServerAPI.cpp in Sources */,
+ 				4B35C4ED0D4731D1000DE7AE /* JackServerGlobals.cpp in Sources */,
+@@ -6427,6 +6374,10 @@
+ 				4BCBCE6310C4FE3F00450FFE /* JackPhysicalMidiOutput.cpp in Sources */,
+ 				4BC2CA59113C6CB60076717C /* JackNetInterface.cpp in Sources */,
+ 				4BC2CA5B113C6CBE0076717C /* JackNetUnixSocket.cpp in Sources */,
++				4B8A38A7117B80D300664E07 /* JackSocket.cpp in Sources */,
++				4B8A38AE117B811100664E07 /* JackSocketNotifyChannel.cpp in Sources */,
++				4B8A38B1117B812D00664E07 /* JackSocketServerChannel.cpp in Sources */,
++				4B8A38B2117B813400664E07 /* JackSocketServerNotifyChannel.cpp in Sources */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -6692,9 +6643,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */,
+-				4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */,
+-				4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */,
+ 				4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */,
+ 				4B47ACB210B5890100469C67 /* shm.c in Sources */,
+ 				4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */,
+@@ -6708,7 +6656,6 @@
+ 				4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */,
+ 				4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */,
+ 				4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */,
+-				4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */,
+ 				4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */,
+ 				4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */,
+ 				4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */,
+@@ -6757,6 +6704,14 @@
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
++		4B6654EF127C34AE00753A79 /* Sources */ = {
++			isa = PBXSourcesBuildPhase;
++			buildActionMask = 2147483647;
++			files = (
++				4B6654FC127C350100753A79 /* server_control.cpp in Sources */,
++			);
++			runOnlyForDeploymentPostprocessing = 0;
++		};
+ 		4B699BA9097D421600A18468 /* Sources */ = {
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+@@ -6769,9 +6724,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B699C25097D421600A18468 /* JackMacLibClientRPC.cpp in Sources */,
+-				4B699C26097D421600A18468 /* JackRPCEngineUser.c in Sources */,
+-				4B699C27097D421600A18468 /* JackMachPort.cpp in Sources */,
+ 				4B699C28097D421600A18468 /* JackShmMem.cpp in Sources */,
+ 				4B699C29097D421600A18468 /* shm.c in Sources */,
+ 				4B699C2B097D421600A18468 /* JackActivationCount.cpp in Sources */,
+@@ -6785,7 +6737,6 @@
+ 				4B699C33097D421600A18468 /* JackFrameTimer.cpp in Sources */,
+ 				4B699C35097D421600A18468 /* JackMachSemaphore.cpp in Sources */,
+ 				4B699C36097D421600A18468 /* JackMachThread.cpp in Sources */,
+-				4B699C37097D421600A18468 /* JackMachClientChannel.cpp in Sources */,
+ 				4B699C3D097D421600A18468 /* JackGlobals.cpp in Sources */,
+ 				4B699C3F097D421600A18468 /* ringbuffer.c in Sources */,
+ 				4B699C40097D421600A18468 /* JackDebugClient.cpp in Sources */,
+@@ -6810,7 +6761,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4B699C7E097D421600A18468 /* JackMachPort.cpp in Sources */,
+ 				4B699C7F097D421600A18468 /* JackShmMem.cpp in Sources */,
+ 				4B699C80097D421600A18468 /* shm.c in Sources */,
+ 				4B699C82097D421600A18468 /* JackActivationCount.cpp in Sources */,
+@@ -6832,12 +6782,7 @@
+ 				4B699C97097D421600A18468 /* JackEngine.cpp in Sources */,
+ 				4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */,
+ 				4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */,
+-				4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */,
+ 				4B699C9D097D421600A18468 /* JackServer.cpp in Sources */,
+-				4B699CA1097D421600A18468 /* JackMacEngineRPC.cpp in Sources */,
+-				4B699CA2097D421600A18468 /* JackMachNotifyChannel.cpp in Sources */,
+-				4B699CA3097D421600A18468 /* JackMachServerChannel.cpp in Sources */,
+-				4B699CA4097D421600A18468 /* JackMachServerNotifyChannel.cpp in Sources */,
+ 				4BD4B4D909BACD9600750C0F /* JackTransportEngine.cpp in Sources */,
+ 				4BC216850A444BAD00BDA09F /* JackServerAPI.cpp in Sources */,
+ 				4BC216890A444BDE00BDA09F /* JackServerGlobals.cpp in Sources */,
+@@ -6992,7 +6937,6 @@
+ 			isa = PBXSourcesBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				4BA3397210B2E36800190E3B /* JackMachPort.cpp in Sources */,
+ 				4BA3397310B2E36800190E3B /* JackShmMem.cpp in Sources */,
+ 				4BA3397410B2E36800190E3B /* shm.c in Sources */,
+ 				4BA3397510B2E36800190E3B /* JackActivationCount.cpp in Sources */,
+@@ -7014,12 +6958,7 @@
+ 				4BA3398510B2E36800190E3B /* JackEngine.cpp in Sources */,
+ 				4BA3398610B2E36800190E3B /* JackExternalClient.cpp in Sources */,
+ 				4BA3398710B2E36800190E3B /* JackInternalClient.cpp in Sources */,
+-				4BA3398810B2E36800190E3B /* JackRPCClientUser.c in Sources */,
+ 				4BA3398910B2E36800190E3B /* JackServer.cpp in Sources */,
+-				4BA3398A10B2E36800190E3B /* JackMacEngineRPC.cpp in Sources */,
+-				4BA3398B10B2E36800190E3B /* JackMachNotifyChannel.cpp in Sources */,
+-				4BA3398C10B2E36800190E3B /* JackMachServerChannel.cpp in Sources */,
+-				4BA3398D10B2E36800190E3B /* JackMachServerNotifyChannel.cpp in Sources */,
+ 				4BA3398E10B2E36800190E3B /* JackTransportEngine.cpp in Sources */,
+ 				4BA3398F10B2E36800190E3B /* JackServerAPI.cpp in Sources */,
+ 				4BA3399010B2E36800190E3B /* JackServerGlobals.cpp in Sources */,
+@@ -7438,6 +7377,11 @@
+ 			target = 4B5A1BD00CD1CCE10005BF74 /* jack_midisine Universal */;
+ 			targetProxy = 4B5A1BE10CD1CD730005BF74 /* PBXContainerItemProxy */;
+ 		};
++		4B66550E127C356E00753A79 /* PBXTargetDependency */ = {
++			isa = PBXTargetDependency;
++			target = 4B6654ED127C34AE00753A79 /* jack_server_control 64 bits */;
++			targetProxy = 4B66550D127C356E00753A79 /* PBXContainerItemProxy */;
++		};
+ 		4B699DB4097D421700A18468 /* PBXTargetDependency */ = {
+ 			isa = PBXTargetDependency;
+ 			target = 4B699C4C097D421600A18468 /* Jackservermp.framework Universal */;
+@@ -8155,6 +8099,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DHAVE_CELT",
+ 					"-DHAVE_CELT_API_0_7",
+ 					"-DMACH_RPC_MACH_SEMA",
+@@ -10913,6 +10858,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -11210,6 +11156,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -12374,6 +12321,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -12971,6 +12919,94 @@
+ 			};
+ 			name = Default;
+ 		};
++		4B6654F4127C34AE00753A79 /* Development */ = {
++			isa = XCBuildConfiguration;
++			buildSettings = {
++				ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
++				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
++				COPY_PHASE_STRIP = NO;
++				GCC_DYNAMIC_NO_PIC = NO;
++				GCC_ENABLE_FIX_AND_CONTINUE = YES;
++				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
++				GCC_OPTIMIZATION_LEVEL = 0;
++				HEADER_SEARCH_PATHS = ../common;
++				OTHER_CFLAGS = "";
++				OTHER_LDFLAGS = (
++					"-framework",
++					Jackservermp,
++				);
++				OTHER_REZFLAGS = "";
++				PRODUCT_NAME = jack_test;
++				REZ_EXECUTABLE = YES;
++				SDKROOT = "";
++				SECTORDER_FLAGS = "";
++				WARNING_CFLAGS = (
++					"-Wmost",
++					"-Wno-four-char-constants",
++					"-Wno-unknown-pragmas",
++				);
++				ZERO_LINK = YES;
++			};
++			name = Development;
++		};
++		4B6654F5127C34AE00753A79 /* Deployment */ = {
++			isa = XCBuildConfiguration;
++			buildSettings = {
++				ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
++				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
++				COPY_PHASE_STRIP = YES;
++				GCC_ENABLE_FIX_AND_CONTINUE = NO;
++				GCC_OPTIMIZATION_LEVEL = 3;
++				HEADER_SEARCH_PATHS = ../common;
++				MACOSX_DEPLOYMENT_TARGET = 10.4;
++				OTHER_CFLAGS = "";
++				OTHER_LDFLAGS = (
++					"-framework",
++					Jackservermp,
++				);
++				OTHER_REZFLAGS = "";
++				PRODUCT_NAME = jack_server_control;
++				REZ_EXECUTABLE = YES;
++				SDKROOT = "";
++				SECTORDER_FLAGS = "";
++				WARNING_CFLAGS = (
++					"-Wmost",
++					"-Wno-four-char-constants",
++					"-Wno-unknown-pragmas",
++				);
++				ZERO_LINK = NO;
++			};
++			name = Deployment;
++		};
++		4B6654F6127C34AE00753A79 /* Default */ = {
++			isa = XCBuildConfiguration;
++			buildSettings = {
++				ARCHS = (
++					ppc64,
++					ppc,
++					i386,
++					x86_64,
++				);
++				GCC_OPTIMIZATION_LEVEL = 3;
++				HEADER_SEARCH_PATHS = ../common;
++				OTHER_CFLAGS = "";
++				OTHER_LDFLAGS = (
++					"-framework",
++					Jackmp,
++				);
++				OTHER_REZFLAGS = "";
++				PRODUCT_NAME = jack_test;
++				REZ_EXECUTABLE = YES;
++				SDKROOT = "";
++				SECTORDER_FLAGS = "";
++				WARNING_CFLAGS = (
++					"-Wmost",
++					"-Wno-four-char-constants",
++					"-Wno-unknown-pragmas",
++				);
++			};
++			name = Default;
++		};
+ 		4B699B34097D421600A18468 /* Development */ = {
+ 			isa = XCBuildConfiguration;
+ 			buildSettings = {
+@@ -15963,6 +15999,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -16107,6 +16144,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -16247,7 +16285,10 @@
+ 				MACH_O_TYPE = mh_dylib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+-				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
++				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
++					"$(OTHER_CFLAGS)",
++				);
+ 				OTHER_LDFLAGS = (
+ 					"-framework",
+ 					Jackservermp,
+@@ -16390,7 +16431,10 @@
+ 				MACH_O_TYPE = mh_dylib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+-				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
++				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
++					"$(OTHER_CFLAGS)",
++				);
+ 				OTHER_LDFLAGS = (
+ 					/opt/local/lib/libsamplerate.a,
+ 					"-framework",
+@@ -16535,6 +16579,7 @@
+ 				MACOSX_DEPLOYMENT_TARGET = 10.4;
+ 				OTHER_CFLAGS = "-DJACK_32_64";
+ 				OTHER_CPLUSPLUSFLAGS = (
++					"-DSERVER_SIDE",
+ 					"-DMACH_RPC_MACH_SEMA",
+ 					"-DJACK_32_64",
+ 				);
+@@ -18471,6 +18516,16 @@
+ 			);
+ 			defaultConfigurationIsVisible = 0;
+ 			defaultConfigurationName = Default;
++		};
++		4B6654F3127C34AE00753A79 /* Build configuration list for PBXNativeTarget "jack_server_control 64 bits" */ = {
++			isa = XCConfigurationList;
++			buildConfigurations = (
++				4B6654F4127C34AE00753A79 /* Development */,
++				4B6654F5127C34AE00753A79 /* Deployment */,
++				4B6654F6127C34AE00753A79 /* Default */,
++			);
++			defaultConfigurationIsVisible = 0;
++			defaultConfigurationName = Default;
+ 		};
+ 		4B699B33097D421600A18468 /* Build configuration list for PBXAggregateTarget "All Universal 32 bits" */ = {
+ 			isa = XCConfigurationList;
+--- /dev/null
++++ b/macosx/JackCompilerDeps_os.h
+@@ -0,0 +1,55 @@
++/*
++Copyright (C) 2004-2005 Grame
++
++This program 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 of the License, or
++(at your option) any later version.
++
++This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++*/
++
++#ifndef __JackCompilerDeps_APPLE__
++#define __JackCompilerDeps_APPLE__
++
++#include "JackConstants.h"
++
++#if __GNUC__
++    #ifndef POST_PACKED_STRUCTURE
++        /* POST_PACKED_STRUCTURE needs to be a macro which
++        expands into a compiler directive. The directive must
++        tell the compiler to arrange the preceding structure
++        declaration so that it is packed on byte-boundaries rather
++        than use the natural alignment of the processor and/or
++        compiler.
++        */
++        #if defined(JACK_32_64)
++            #define POST_PACKED_STRUCTURE __attribute__((__packed__))
++        #else
++            #define POST_PACKED_STRUCTURE
++        #endif
++    #endif
++    #define MEM_ALIGN(x,y) x __attribute__((aligned(y)))
++    #define EXPORT __attribute__((visibility("default")))
++    #ifdef SERVER_SIDE
++        #define SERVER_EXPORT __attribute__((visibility("default")))
++    #else
++        #define SERVER_EXPORT 
++    #endif
++#else
++    #define MEM_ALIGN(x,y) x
++    #define EXPORT
++    #define SERVER_EXPORT
++    /* Add other things here for non-gcc platforms for POST_PACKED_STRUCTURE */
++#endif
++
++#endif
++
+--- a/macosx/coreaudio/JackCoreAudioDriver.cpp
++++ b/macosx/coreaudio/JackCoreAudioDriver.cpp
+@@ -216,8 +216,8 @@
+ 
+ int JackCoreAudioDriver::Read()
+ {
+-    AudioUnitRender(fAUHAL, fActionFags, fCurrentTime, 1, fEngineControl->fBufferSize, fJackInputData);
+-    return 0;
++    OSStatus err = AudioUnitRender(fAUHAL, fActionFags, fCurrentTime, 1, fEngineControl->fBufferSize, fJackInputData);
++    return (err == noErr) ? 0 : -1;
+ }
+ 
+ int JackCoreAudioDriver::Write()
+--- a/wscript
++++ b/wscript
+@@ -11,7 +11,7 @@
+ import re
+ import Logs
+ 
+-VERSION='1.9.6'
++VERSION='1.9.7'
+ APPNAME='jack'
+ JACK_API_VERSION = '0.1.0'
+ 
+--- a/dbus/controller_iface_patchbay.c
++++ b/dbus/controller_iface_patchbay.c
+@@ -323,7 +323,7 @@
+     list_for_each(node_ptr, &patchbay_ptr->graph.clients)
+     {
+         client_ptr = list_entry(node_ptr, struct jack_graph_client, siblings);
+-        if (strncmp(client_ptr->name, client_name, client_name_len) == 0)
++        if (strlen(client_ptr->name) == client_name_len && strncmp(client_ptr->name, client_name, client_name_len) == 0)
+         {
+             return client_ptr;
+         }
+--- a/linux/alsa/JackAlsaDriver.cpp
++++ b/linux/alsa/JackAlsaDriver.cpp
+@@ -120,7 +120,7 @@
+         char tmp[5];
+         strncpy(tmp, strstr(device_name, "hw"), 4);
+         tmp[4] = '\0';
+-        //jack_log("control device %s", tmp);
++        jack_info("control device %s",tmp);
+         ctl_name = strdup(tmp);
+     } else {
+         ctl_name = strdup(device_name);
+@@ -151,21 +151,16 @@
+     if ((err = snd_ctl_open (&driver->ctl_handle, ctl_name, 0)) < 0) {
+         jack_error ("control open \"%s\" (%s)", ctl_name,
+                     snd_strerror(err));
+-        return -1;
+-    }
 -
--	InP->refnum = refnum;
+-    if ((err = snd_ctl_card_info(driver->ctl_handle, card_info)) < 0) {
++    } else if ((err = snd_ctl_card_info(driver->ctl_handle, card_info)) < 0) {
+         jack_error ("control hardware info \"%s\" (%s)",
+                     driver->alsa_name_playback, snd_strerror (err));
+         snd_ctl_close (driver->ctl_handle);
+-        return -1;
+     }
+ 
+     driver->alsa_driver = strdup(snd_ctl_card_info_get_driver (card_info));
+     jack_info("Using ALSA driver %s running on card %i - %s", driver->alsa_driver, snd_ctl_card_info_get_card(card_info), snd_ctl_card_info_get_longname(card_info));
+ 
+     free(ctl_name);
 -
--	InP->int_ref = int_ref;
+     return alsa_driver_check_capabilities (driver);
+ }
+ 
+@@ -1171,7 +1166,6 @@
+ 
+     if (res && driver->midi)
+ 	(driver->midi->stop)(driver->midi);
 -
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = server_port;
--	InP->Head.msgh_reply_port = mig_get_reply_port();
--	InP->Head.msgh_id = 1019;
+     return res;
+ }
+ 
+@@ -1181,8 +1175,6 @@
+     snd_pcm_status_t *status;
+     int res;
+ 
+-    jack_error("alsa_driver_xrun_recovery");
 -
--	__BeforeSendRpc(1019, "rpc_jack_internal_clientunload")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
--	__AfterSendRpc(1019, "rpc_jack_internal_clientunload")
--	if (msg_result != MACH_MSG_SUCCESS) {
--		__MachMsgErrorWithoutTimeout(msg_result);
--		{ return msg_result; }
--	}
+     snd_pcm_status_alloca(&status);
+ 
+     if (driver->capture_handle) {
+@@ -1196,6 +1188,19 @@
+             jack_error("status error: %s", snd_strerror(res));
+         }
+     }
++    
++    if (snd_pcm_status_get_state(status) == SND_PCM_STATE_SUSPENDED) { 
++        jack_error("**** alsa_pcm: pcm in suspended state, resuming it" ); 
++        if (driver->capture_handle) { 
++            if ((res = snd_pcm_prepare(driver->capture_handle)) < 0) { 
++                    jack_error("error preparing after suspend: %s", snd_strerror(res)); 
++            } 
++        } else { 
++            if ((res = snd_pcm_prepare(driver->playback_handle)) < 0) { 
++                    jack_error("error preparing after suspend: %s", snd_strerror(res)); 
++            } 
++        } 
++    } 
+ 
+     if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN
+             && driver->process_count > XRUN_REPORT_DELAY) {
+@@ -1205,7 +1210,7 @@
+         snd_pcm_status_get_trigger_tstamp(status, &tstamp);
+         timersub(&now, &tstamp, &diff);
+         *delayed_usecs = diff.tv_sec * 1000000.0 + diff.tv_usec;
+-        jack_error("\n\n**** alsa_pcm: xrun of at least %.3f msecs\n\n", *delayed_usecs / 1000.0);
++        jack_error("**** alsa_pcm: xrun of at least %.3f msecs", *delayed_usecs / 1000.0);
+     }
+ 
+     if (alsa_driver_restart (driver)) {
+@@ -1371,7 +1376,7 @@
+ 			/* if POLLIN was the only bit set, we're OK */
+ 
+ 			*status = 0;
+-            if (driver->pfd[nfds-1].revents == POLLIN) {
++            if (driver->pfd[nfds-1].revents != POLLIN) {
+                 jack_error("driver->pfd[nfds-1].revents == POLLIN");
+             }
+ 			return (driver->pfd[nfds-1].revents == POLLIN) ? 0 : -1;
+@@ -1585,7 +1590,6 @@
+          
+             jack_error ("ALSA: could not complete read of %"
+             		PRIu32 " frames: error = %d\n", contiguous, err);
+-            jack_error ("ALSA: could not complete read of %d frames: error = %d", contiguous, err);
+             return -1;
+         }
+ 
+@@ -1725,7 +1729,6 @@
+                                         offset, contiguous)) < 0) {
+             jack_error ("ALSA: could not complete playback of %"
+             		PRIu32 " frames: error = %d", contiguous, err);
+-            jack_error ("ALSA: could not complete playback of %d frames: error = %d", contiguous, err);
+             if (err != EPIPE && err != ESTRPIPE)
+                 return -1;
+         }
+@@ -1751,11 +1754,6 @@
+     jack_slist_free (driver->clock_sync_listeners);
+     
+     if (driver->ctl_handle) {
+-		snd_ctl_close (driver->ctl_handle);
+-		driver->ctl_handle = 0;
+-	} 
 -
+-    if (driver->ctl_handle) {
+         snd_ctl_close (driver->ctl_handle);
+         driver->ctl_handle = 0;
+     } 
+@@ -2328,6 +2326,8 @@
+     jack_nframes_t nframes;
+     fDelayedUsecs = 0.f;
+ 
++retry:
++
+     nframes = alsa_driver_wait((alsa_driver_t *)fDriver, -1, &wait_status, &fDelayedUsecs);
+  
+     if (wait_status < 0)
+@@ -2339,11 +2339,11 @@
+          */
+         jack_log("ALSA XRun wait_status = %d", wait_status);
+         NotifyXRun(fBeginDateUst, fDelayedUsecs);
+-        return -1;
++        goto retry; /* recoverable error*/
+     }
+ 
+     if (nframes != fEngineControl->fBufferSize)
+-        jack_log("JackAlsaDriver::Read error nframes = %ld", nframes);
++        jack_log("JackAlsaDriver::Read warning nframes = %ld", nframes);
+         
+     // Has to be done before read
+     JackDriver::CycleIncTime();
+@@ -2631,352 +2631,352 @@
+     return constraint_ptr;
+ }
+ 
+-    static int
+-    dither_opt (char c, DitherAlgorithm* dither) 
+-    {
+-        switch (c) {
+-            case '-':
+-            case 'n':
+-                *dither = None;
+-                break;
 -
--#if	defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined)
--	check_result = __MIG_check__Reply__rpc_jack_internal_clientunload_t((__Reply__rpc_jack_internal_clientunload_t *)Out0P);
--	if (check_result != MACH_MSG_SUCCESS)
--		{ return check_result; }
--#endif	/* defined(__MIG_check__Reply__rpc_jack_internal_clientunload_t__defined) */
+-            case 'r':
+-                *dither = Rectangular;
+-                break;
 -
--	*status = Out0P->status;
+-            case 's':
+-                *dither = Shaped;
+-                break;
 -
--	*result = Out0P->result;
+-            case 't':
+-                *dither = Triangular;
+-                break;
 -
--	return KERN_SUCCESS;
--}
+-            default:
+-                fprintf (stderr, "ALSA driver: illegal dithering mode %c\n", c);
+-                return -1;
+-        }
+-        return 0;
+-    }
 -
--/* SimpleRoutine rpc_jack_client_rt_notify */
--mig_external kern_return_t rpc_jack_client_rt_notify
--(
--	mach_port_t client_port,
--	int refnum,
--	int notify,
--	int value,
--	int timeout
--)
--{
+-    SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor () 
+-    {
+-        jack_driver_desc_t * desc;
+-        jack_driver_param_desc_t * params;
+-        unsigned int i;
 -
--#ifdef  __MigPackStructs
--#pragma pack(4)
--#endif
--	typedef struct {
--		mach_msg_header_t Head;
--		NDR_record_t NDR;
--		int refnum;
--		int notify;
--		int value;
--	} Request;
--#ifdef  __MigPackStructs
--#pragma pack()
--#endif
--	/*
--	 * typedef struct {
--	 * 	mach_msg_header_t Head;
--	 * 	NDR_record_t NDR;
--	 * 	kern_return_t RetCode;
--	 * } mig_reply_error_t;
--	 */
+-        desc = (jack_driver_desc_t*)calloc (1, sizeof (jack_driver_desc_t));
+-        
+-        strcpy(desc->name, "alsa");                                    // size MUST be less then JACK_DRIVER_NAME_MAX + 1
+-        strcpy(desc->desc, "Linux ALSA API based audio backend");      // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
+-        
+-        desc->nparams = 18;
+-        params = (jack_driver_param_desc_t*)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
 -
--	union {
--		Request In;
--	} Mess;
+-        i = 0;
+-        strcpy (params[i].name, "capture");
+-        params[i].character = 'C';
+-        params[i].type = JackDriverParamString;
+-        strcpy (params[i].value.str, "none");
+-        strcpy (params[i].short_desc,
+-                "Provide capture ports.  Optionally set device");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	Request *InP = &Mess.In;
+-        i++;
+-        strcpy (params[i].name, "playback");
+-        params[i].character = 'P';
+-        params[i].type = JackDriverParamString;
+-        strcpy (params[i].value.str, "none");
+-        strcpy (params[i].short_desc,
+-                "Provide playback ports.  Optionally set device");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	mach_msg_return_t msg_result;
+-        i++;
+-        strcpy (params[i].name, "device");
+-        params[i].character = 'd';
+-        params[i].type = JackDriverParamString;
+-        strcpy (params[i].value.str, "hw:0");
+-        strcpy (params[i].short_desc, "ALSA device name");
+-        strcpy (params[i].long_desc, params[i].short_desc);
+-        params[i].constraint = enum_alsa_devices();
 -
--#ifdef	__MIG_check__Reply__rpc_jack_client_rt_notify_t__defined
--	kern_return_t check_result;
--#endif	/* __MIG_check__Reply__rpc_jack_client_rt_notify_t__defined */
+-        i++;
+-        strcpy (params[i].name, "rate");
+-        params[i].character = 'r';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.ui = 48000U;
+-        strcpy (params[i].short_desc, "Sample rate");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	__DeclareSendSimple(1020, "rpc_jack_client_rt_notify")
+-        i++;
+-        strcpy (params[i].name, "period");
+-        params[i].character = 'p';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.ui = 1024U;
+-        strcpy (params[i].short_desc, "Frames per period");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	InP->NDR = NDR_record;
+-        i++;
+-        strcpy (params[i].name, "nperiods");
+-        params[i].character = 'n';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.ui = 2U;
+-        strcpy (params[i].short_desc, "Number of periods of playback latency");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	InP->refnum = refnum;
+-        i++;
+-        strcpy (params[i].name, "hwmon");
+-        params[i].character = 'H';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Hardware monitoring, if available");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	InP->notify = notify;
+-        i++;
+-        strcpy (params[i].name, "hwmeter");
+-        params[i].character = 'M';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Hardware metering, if available");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	InP->value = value;
+-        i++;
+-        strcpy (params[i].name, "duplex");
+-        params[i].character = 'D';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = 1;
+-        strcpy (params[i].short_desc,
+-                "Provide both capture and playback ports");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	InP->Head.msgh_bits =
--		MACH_MSGH_BITS(19, 0);
--	/* msgh_size passed as argument */
--	InP->Head.msgh_request_port = client_port;
--	InP->Head.msgh_reply_port = MACH_PORT_NULL;
--	InP->Head.msgh_id = 1020;
+-        i++;
+-        strcpy (params[i].name, "softmode");
+-        params[i].character = 's';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Soft-mode, no xrun handling");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	__BeforeSendSimple(1020, "rpc_jack_client_rt_notify")
--	msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_SEND_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), 0, MACH_PORT_NULL, timeout, MACH_PORT_NULL);
--	__AfterSendSimple(1020, "rpc_jack_client_rt_notify")
+-        i++;
+-        strcpy (params[i].name, "monitor");
+-        params[i].character = 'm';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Provide monitor ports for the output");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--	if (msg_result == MACH_SEND_TIMED_OUT) {
--	}
+-        i++;
+-        strcpy (params[i].name, "dither");
+-        params[i].character = 'z';
+-        params[i].type = JackDriverParamChar;
+-        params[i].value.c = 'n';
+-        strcpy (params[i].short_desc, "Dithering mode");
+-        strcpy (params[i].long_desc,
+-                "Dithering mode:\n"
+-                "  n - none\n"
+-                "  r - rectangular\n"
+-                "  s - shaped\n"
+-                "  t - triangular");
+-        params[i].constraint = get_dither_constraint();
 -
--	return msg_result;
--}
---- a/macosx/RPC/Jackdefs.h
-+++ /dev/null
-@@ -1,25 +0,0 @@
--/*
--Copyright (C) 2004-2006 Grame
+-        i++;
+-        strcpy (params[i].name, "inchannels");
+-        params[i].character = 'i';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc,
+-                "Number of capture channels (defaults to hardware max)");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--This program 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 of the License, or
--(at your option) any later version.
+-        i++;
+-        strcpy (params[i].name, "outchannels");
+-        params[i].character = 'o';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc,
+-                "Number of playback channels (defaults to hardware max)");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--This program 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.
+-        i++;
+-        strcpy (params[i].name, "shorts");
+-        params[i].character = 'S';
+-        params[i].type = JackDriverParamBool;
+-        params[i].value.i = FALSE;
+-        strcpy (params[i].short_desc, "Try 16-bit samples before 32-bit");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--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., 675 Mass Ave, Cambridge, MA 02139, USA.
+-        i++;
+-        strcpy (params[i].name, "input-latency");
+-        params[i].character = 'I';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Extra input latency (frames)");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--*/
+-        i++;
+-        strcpy (params[i].name, "output-latency");
+-        params[i].character = 'O';
+-        params[i].type = JackDriverParamUInt;
+-        params[i].value.i = 0;
+-        strcpy (params[i].short_desc, "Extra output latency (frames)");
+-        strcpy (params[i].long_desc, params[i].short_desc);
 -
--typedef char client_name_t[64];
--typedef char client_port_name_t[128];
--typedef char client_port_type_t[128];
--typedef char so_name_t[256];
--typedef char objet_data_t[256];
--typedef char message_t[256];
---- a/macosx/coreaudio/JackCoreAudioDriver.cpp
-+++ b/macosx/coreaudio/JackCoreAudioDriver.cpp
-@@ -216,8 +216,8 @@
- 
- int JackCoreAudioDriver::Read()
- {
--    AudioUnitRender(fAUHAL, fActionFags, fCurrentTime, 1, fEngineControl->fBufferSize, fJackInputData);
--    return 0;
-+    OSStatus err = AudioUnitRender(fAUHAL, fActionFags, fCurrentTime, 1, fEngineControl->fBufferSize, fJackInputData);
-+    return (err == noErr) ? 0 : -1;
- }
- 
- int JackCoreAudioDriver::Write()
---- a/posix/JackCompilerDeps_os.h
-+++ b/posix/JackCompilerDeps_os.h
-@@ -48,7 +48,7 @@
-             #define SERVER_EXPORT __attribute__((visibility("default")))
-         #endif
-     #else
--        #define SERVER_EXPORT
-+        #define SERVER_EXPORT __attribute__((visibility("hidden")))
-     #endif
- #else
-     #define MEM_ALIGN(x,y) x
---- a/posix/JackPosixThread.cpp
-+++ b/posix/JackPosixThread.cpp
-@@ -117,7 +117,7 @@
-         if ((res = pthread_attr_setinheritsched(&attributes, PTHREAD_EXPLICIT_SCHED))) {
-             jack_error("Cannot request explicit scheduling for RT thread res = %d", res);
-             return -1;
--    	}
-+        }
-     
-         if ((res = pthread_attr_setschedpolicy(&attributes, JACK_SCHED_POLICY))) {
-             jack_error("Cannot set RR scheduling class for RT thread res = %d", res);
-@@ -270,6 +270,11 @@
-     return fThread;
- }
- 
-+bool JackPosixThread::IsThread()
+-        i++;
+-        strcpy (params[i].name, "midi-driver");
+-        params[i].character = 'X';
+-        params[i].type = JackDriverParamString;
+-        strcpy (params[i].value.str, "none");
+-        strcpy (params[i].short_desc, "ALSA MIDI driver name (seq|raw)");
+-        strcpy (params[i].long_desc,
+-                "ALSA MIDI driver:\n"
+-                " none - no MIDI driver\n"
+-                " seq - ALSA Sequencer driver\n"
+-                " raw - ALSA RawMIDI driver\n");
+-        params[i].constraint = get_midi_driver_constraint();
++static int
++dither_opt (char c, DitherAlgorithm* dither) 
 +{
-+    return pthread_self() == fThread;
-+}
++    switch (c) {
++        case '-':
++        case 'n':
++            *dither = None;
++            break;
 +
- void JackPosixThread::Terminate()
- {
-     jack_log("JackPosixThread::Terminate");
---- a/posix/JackPosixThread.h
-+++ b/posix/JackPosixThread.h
-@@ -68,10 +68,11 @@
-         int DropSelfRealTime();                 // Used when called from thread itself
- 
-         pthread_t GetThreadID();
-+        bool IsThread();
- 
-         static int AcquireRealTimeImp(pthread_t thread, int priority);
-         static int AcquireRealTimeImp(pthread_t thread, int priority, UInt64 period, UInt64 computation, UInt64 constraint)
--		{ return JackPosixThread::AcquireRealTimeImp(thread, priority); }
-+                { return JackPosixThread::AcquireRealTimeImp(thread, priority); }
-         static int DropRealTimeImp(pthread_t thread);
-         static int StartImp(pthread_t* thread, int priority, int realtime, void*(*start_routine)(void*), void* arg);
-         static int StopImp(pthread_t thread);
---- a/posix/JackSocket.cpp
-+++ b/posix/JackSocket.cpp
-@@ -129,7 +129,7 @@
-     }
- 
- #ifdef __APPLE__
--    int on = 1 ;
-+    int on = 1;
-     if (setsockopt(fSocket, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) {
-         jack_log("setsockopt SO_NOSIGPIPE fd = %ld err = %s", fSocket, strerror(errno));
-     }
-@@ -260,7 +260,7 @@
-         goto error;
-     }
- 
--    if (listen(fSocket, 1) < 0) {
-+    if (listen(fSocket, 100) < 0) {
-         jack_error("Cannot enable listen on server socket err = %s", strerror(errno));
-         goto error;
-     }
---- a/posix/JackSocketClientChannel.cpp
-+++ b/posix/JackSocketClientChannel.cpp
-@@ -51,7 +51,7 @@
-     }
- }
- 
--int JackSocketClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
-+int JackSocketClientChannel::Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
- {
-     int result = 0;
-     jack_log("JackSocketClientChannel::Open name = %s", name);
-@@ -62,7 +62,7 @@
-     }
++        case 'r':
++            *dither = Rectangular;
++            break;
++
++        case 's':
++            *dither = Shaped;
++            break;
++
++        case 't':
++            *dither = Triangular;
++            break;
  
-     // Check name in server
--    ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
-+    ClientCheck(name, uuid, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
-     if (result < 0) {
-         int status1 = *status;
-         if (status1 & JackVersionError)
-@@ -142,18 +142,18 @@
+-        desc->params = params;
+-        return desc;
++        default:
++            fprintf (stderr, "ALSA driver: illegal dithering mode %c\n", c);
++            return -1;
      }
- }
++    return 0;
++}
  
--void JackSocketClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
-+void JackSocketClientChannel::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
- {
--    JackClientCheckRequest req(name, protocol, options);
-+    JackClientCheckRequest req(name, protocol, options, uuid);
-     JackClientCheckResult res;
-     ServerSyncCall(&req, &res, result);
-     *status = res.fStatus;
-     strcpy(name_res, res.fName);
- }
+-    SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) 
+-    {
+-        jack_nframes_t srate = 48000;
+-        jack_nframes_t frames_per_interrupt = 1024;
+-        unsigned long user_nperiods = 2;
+-        const char *playback_pcm_name = "hw:0";
+-        const char *capture_pcm_name = "hw:0";
+-        int hw_monitoring = FALSE;
+-        int hw_metering = FALSE;
+-        int capture = FALSE;
+-        int playback = FALSE;
+-        int soft_mode = FALSE;
+-        int monitor = FALSE;
+-        DitherAlgorithm dither = None;
+-        int user_capture_nchnls = 0;
+-        int user_playback_nchnls = 0;
+-        int shorts_first = FALSE;
+-        jack_nframes_t systemic_input_latency = 0;
+-        jack_nframes_t systemic_output_latency = 0;
+-        const JSList * node;
+-        const jack_driver_param_t * param;
+-        const char *midi_driver = "none";
+-
+-        for (node = params; node; node = jack_slist_next (node)) {
+-            param = (const jack_driver_param_t *) node->data;
+-
+-            switch (param->character) {
+-
+-                case 'C':
+-                    capture = TRUE;
+-                    if (strcmp (param->value.str, "none") != 0) {
+-                        capture_pcm_name = strdup (param->value.str);
+-                        jack_log("capture device %s", capture_pcm_name);
+-                    }
+-                    break;
++SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor () 
++{
++    jack_driver_desc_t * desc;
++    jack_driver_param_desc_t * params;
++    unsigned int i;
  
--void JackSocketClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
-+void JackSocketClientChannel::ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
- {
--    JackClientOpenRequest req(name, pid);
-+    JackClientOpenRequest req(name, pid, uuid);
-     JackClientOpenResult res;
-     ServerSyncCall(&req, &res, result);
-     *shared_engine = res.fSharedEngine;
-@@ -246,6 +246,64 @@
-     ServerSyncCall(&req, &res, result);
- }
+-                case 'P':
+-                    playback = TRUE;
+-                    if (strcmp (param->value.str, "none") != 0) {
+-                        playback_pcm_name = strdup (param->value.str);
+-                        jack_log("playback device %s", playback_pcm_name);
+-                    }
+-                    break;
++    desc = (jack_driver_desc_t*)calloc (1, sizeof (jack_driver_desc_t));
++    
++    strcpy(desc->name, "alsa");                                    // size MUST be less then JACK_DRIVER_NAME_MAX + 1
++    strcpy(desc->desc, "Linux ALSA API based audio backend");      // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
++    
++    desc->nparams = 18;
++    params = (jack_driver_param_desc_t*)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
  
-+void JackSocketClientChannel::SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t ** result)
-+{
-+    JackSessionNotifyRequest req(refnum, path, type, target);
-+    JackSessionNotifyResult  res;
-+    int intresult;
-+    ServerSyncCall(&req, &res, &intresult);
+-                case 'D':
+-                    playback = TRUE;
+-                    capture = TRUE;
+-                    break;
++    i = 0;
++    strcpy (params[i].name, "capture");
++    params[i].character = 'C';
++    params[i].type = JackDriverParamString;
++    strcpy (params[i].value.str, "none");
++    strcpy (params[i].short_desc,
++            "Provide capture ports.  Optionally set device");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+    jack_session_command_t *session_command = (jack_session_command_t *)malloc( sizeof(jack_session_command_t) * (res.fCommandList.size()+1) );
-+    int i=0;
-+   
-+    for (std::list<JackSessionCommand>::iterator ci=res.fCommandList.begin(); ci!=res.fCommandList.end(); ci++) {
-+	session_command[i].uuid = strdup( ci->fUUID );
-+	session_command[i].client_name = strdup( ci->fClientName );
-+	session_command[i].command = strdup( ci->fCommand );
-+	session_command[i].flags = ci->fFlags;
++    i++;
++    strcpy (params[i].name, "playback");
++    params[i].character = 'P';
++    params[i].type = JackDriverParamString;
++    strcpy (params[i].value.str, "none");
++    strcpy (params[i].short_desc,
++            "Provide playback ports.  Optionally set device");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+	i+=1;
-+    }	
-+	
-+    session_command[i].uuid = NULL;
-+    session_command[i].client_name = NULL;
-+    session_command[i].command = NULL;
-+    session_command[i].flags = (jack_session_flags_t)0;
++    i++;
++    strcpy (params[i].name, "device");
++    params[i].character = 'd';
++    params[i].type = JackDriverParamString;
++    strcpy (params[i].value.str, "hw:0");
++    strcpy (params[i].short_desc, "ALSA device name");
++    strcpy (params[i].long_desc, params[i].short_desc);
++    params[i].constraint = enum_alsa_devices();
 +
++    i++;
++    strcpy (params[i].name, "rate");
++    params[i].character = 'r';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.ui = 48000U;
++    strcpy (params[i].short_desc, "Sample rate");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+    *result = session_command;
-+}
++    i++;
++    strcpy (params[i].name, "period");
++    params[i].character = 'p';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.ui = 1024U;
++    strcpy (params[i].short_desc, "Frames per period");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+void JackSocketClientChannel::SessionReply(int refnum, int* result)
-+{
-+    JackSessionReplyRequest req(refnum);
-+    JackResult  res;
-+    ServerSyncCall(&req, &res, result);
-+}
++    i++;
++    strcpy (params[i].name, "nperiods");
++    params[i].character = 'n';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.ui = 2U;
++    strcpy (params[i].short_desc, "Number of periods of playback latency");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+void JackSocketClientChannel::GetUUIDForClientName( int refnum, const char *client_name, char *uuid_res, int *result )
-+{
-+    JackGetUUIDRequest req(client_name);
-+    JackUUIDResult  res;
-+    ServerSyncCall(&req, &res, result);
-+    strncpy( uuid_res, res.fUUID, JACK_UUID_SIZE );
-+}
++    i++;
++    strcpy (params[i].name, "hwmon");
++    params[i].character = 'H';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Hardware monitoring, if available");
++    strcpy (params[i].long_desc, params[i].short_desc);
 +
-+void JackSocketClientChannel::GetClientNameForUUID( int refnum, const char *uuid, char *name_res, int *result )
-+{
-+    JackGetClientNameRequest req(uuid);
-+    JackClientNameResult  res;
-+    ServerSyncCall(&req, &res, result);
-+    strncpy( name_res, res.fName, JACK_CLIENT_NAME_SIZE );
++    i++;
++    strcpy (params[i].name, "hwmeter");
++    params[i].character = 'M';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Hardware metering, if available");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "duplex");
++    params[i].character = 'D';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = 1;
++    strcpy (params[i].short_desc,
++            "Provide both capture and playback ports");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "softmode");
++    params[i].character = 's';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Soft-mode, no xrun handling");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "monitor");
++    params[i].character = 'm';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Provide monitor ports for the output");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "dither");
++    params[i].character = 'z';
++    params[i].type = JackDriverParamChar;
++    params[i].value.c = 'n';
++    strcpy (params[i].short_desc, "Dithering mode");
++    strcpy (params[i].long_desc,
++            "Dithering mode:\n"
++            "  n - none\n"
++            "  r - rectangular\n"
++            "  s - shaped\n"
++            "  t - triangular");
++    params[i].constraint = get_dither_constraint();
++
++    i++;
++    strcpy (params[i].name, "inchannels");
++    params[i].character = 'i';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc,
++            "Number of capture channels (defaults to hardware max)");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "outchannels");
++    params[i].character = 'o';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc,
++            "Number of playback channels (defaults to hardware max)");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "shorts");
++    params[i].character = 'S';
++    params[i].type = JackDriverParamBool;
++    params[i].value.i = FALSE;
++    strcpy (params[i].short_desc, "Try 16-bit samples before 32-bit");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "input-latency");
++    params[i].character = 'I';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Extra input latency (frames)");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "output-latency");
++    params[i].character = 'O';
++    params[i].type = JackDriverParamUInt;
++    params[i].value.i = 0;
++    strcpy (params[i].short_desc, "Extra output latency (frames)");
++    strcpy (params[i].long_desc, params[i].short_desc);
++
++    i++;
++    strcpy (params[i].name, "midi-driver");
++    params[i].character = 'X';
++    params[i].type = JackDriverParamString;
++    strcpy (params[i].value.str, "none");
++    strcpy (params[i].short_desc, "ALSA MIDI driver name (seq|raw)");
++    strcpy (params[i].long_desc,
++            "ALSA MIDI driver:\n"
++            " none - no MIDI driver\n"
++            " seq - ALSA Sequencer driver\n"
++            " raw - ALSA RawMIDI driver\n");
++    params[i].constraint = get_midi_driver_constraint();
++
++    desc->params = params;
++    return desc;
 +}
 +
-+void JackSocketClientChannel::ReserveClientName( int refnum, const char *client_name, const char *uuid, int *result )
++SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params) 
 +{
-+    JackReserveNameRequest req(refnum, client_name, uuid);
-+    JackResult  res;
-+    ServerSyncCall(&req, &res, result);
-+}
++    jack_nframes_t srate = 48000;
++    jack_nframes_t frames_per_interrupt = 1024;
++    unsigned long user_nperiods = 2;
++    const char *playback_pcm_name = "hw:0";
++    const char *capture_pcm_name = "hw:0";
++    int hw_monitoring = FALSE;
++    int hw_metering = FALSE;
++    int capture = FALSE;
++    int playback = FALSE;
++    int soft_mode = FALSE;
++    int monitor = FALSE;
++    DitherAlgorithm dither = None;
++    int user_capture_nchnls = 0;
++    int user_playback_nchnls = 0;
++    int shorts_first = FALSE;
++    jack_nframes_t systemic_input_latency = 0;
++    jack_nframes_t systemic_output_latency = 0;
++    const JSList * node;
++    const jack_driver_param_t * param;
++    const char *midi_driver = "none";
 +
- void JackSocketClientChannel::ReleaseTimebase(int refnum, int* result)
- {
-     JackReleaseTimebaseRequest req(refnum);
-@@ -277,9 +335,9 @@
-     *status = res.fStatus;
- }
- 
--void JackSocketClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
-+void JackSocketClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
- {
--    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options);
-+    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options, uuid);
-     JackInternalClientLoadResult res;
-     ServerSyncCall(&req, &res, result);
-     *int_ref = res.fIntRefNum;
---- a/posix/JackSocketClientChannel.h
-+++ b/posix/JackSocketClientChannel.h
-@@ -38,11 +38,11 @@
++    for (node = params; node; node = jack_slist_next (node)) {
++        param = (const jack_driver_param_t *) node->data;
++
++        switch (param->character) {
++
++            case 'C':
++                capture = TRUE;
++                if (strcmp (param->value.str, "none") != 0) {
++                    capture_pcm_name = strdup (param->value.str);
++                    jack_log("capture device %s", capture_pcm_name);
++                }
++                break;
  
-     private:
+-                case 'd':
++            case 'P':
++                playback = TRUE;
++                if (strcmp (param->value.str, "none") != 0) {
+                     playback_pcm_name = strdup (param->value.str);
+-                    capture_pcm_name = strdup (param->value.str);
+                     jack_log("playback device %s", playback_pcm_name);
+-                    jack_log("capture device %s", capture_pcm_name);
+-                    break;
++                }
++                break;
  
--        JackClientSocket fRequestSocket;			// Socket to communicate with the server
--        JackServerSocket fNotificationListenSocket;	// Socket listener for server notification
--        JackClientSocket* fNotificationSocket;		// Socket for server notification
-+        JackClientSocket fRequestSocket;                        // Socket to communicate with the server
-+        JackServerSocket fNotificationListenSocket;     // Socket listener for server notification
-+        JackClientSocket* fNotificationSocket;          // Socket for server notification
-         JackThread fThread;                         // Thread to execute the event loop
--        JackClient*	fClient;
-+        JackClient*     fClient;
+-                case 'H':
+-                    hw_monitoring = param->value.i;
+-                    break;
++            case 'D':
++                playback = TRUE;
++                capture = TRUE;
++                break;
  
-         void ServerSyncCall(JackRequest* req, JackResult* res, int* result);
-         void ServerAsyncCall(JackRequest* req, JackResult* res, int* result);
-@@ -52,7 +52,7 @@
-         JackSocketClientChannel();
-         virtual ~JackSocketClientChannel();
+-                case 'm':
+-                    monitor = param->value.i;
+-                    break;
++            case 'd':
++                playback_pcm_name = strdup (param->value.str);
++                capture_pcm_name = strdup (param->value.str);
++                jack_log("playback device %s", playback_pcm_name);
++                jack_log("capture device %s", capture_pcm_name);
++                break;
  
--        int Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
-+        int Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
-         void Close();
+-                case 'M':
+-                    hw_metering = param->value.i;
+-                    break;
++            case 'H':
++                hw_monitoring = param->value.i;
++                break;
  
-         int Start();
-@@ -60,9 +60,9 @@
+-                case 'r':
+-                    srate = param->value.ui;
+-                    jack_log("apparent rate = %d", srate);
+-                    break;
++            case 'm':
++                monitor = param->value.i;
++                break;
  
-         int ServerCheck(const char* server_name);
+-                case 'p':
+-                    frames_per_interrupt = param->value.ui;
+-                    jack_log("frames per period = %d", frames_per_interrupt);
+-                    break;
++            case 'M':
++                hw_metering = param->value.i;
++                break;
  
--        void ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result);
--        void ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
--        void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
-+        void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result);
-+        void ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-+        void ClientOpen(const char* name, int* ref, int uuid, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
-         {}
-         void ClientClose(int refnum, int* result);
+-                case 'n':
+-                    user_nperiods = param->value.ui;
+-                    if (user_nperiods < 2)	/* enforce minimum value */
+-                        user_nperiods = 2;
+-                    break;
++            case 'r':
++                srate = param->value.ui;
++                jack_log("apparent rate = %d", srate);
++                break;
  
-@@ -88,12 +88,22 @@
+-                case 's':
+-                    soft_mode = param->value.i;
+-                    break;
++            case 'p':
++                frames_per_interrupt = param->value.ui;
++                jack_log("frames per period = %d", frames_per_interrupt);
++                break;
  
-         void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result);
-         void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result);
--        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result);
-+        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result);
-         void InternalClientUnload(int refnum, int int_ref, int* status, int* result);
+-                case 'z':
+-                    if (dither_opt (param->value.c, &dither)) {
+-                        return NULL;
+-                    }
+-                    break;
++            case 'n':
++                user_nperiods = param->value.ui;
++                if (user_nperiods < 2)	/* enforce minimum value */
++                    user_nperiods = 2;
++                break;
  
-+        // Session Stuff
-+        void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result);
-+        void SessionReply(int refnum, int* result);
-+        void GetUUIDForClientName( int refnum, const char *client_name, char *uuid_res, int *result );
-+        void GetClientNameForUUID( int refnum, const char *uuid, char *name_res, int *result );
-+        void ReserveClientName( int refnum, const char *client_name, const char *uuid, int *result );
-+
-         // JackRunnableInterface interface
-         bool Init();
-         bool Execute();
-+
-+
-+        bool IsChannelThread() { return fThread.IsThread(); }
- };
+-                case 'i':
+-                    user_capture_nchnls = param->value.ui;
+-                    break;
++            case 's':
++                soft_mode = param->value.i;
++                break;
  
- } // end of namespace
---- a/posix/JackSocketServerChannel.cpp
-+++ b/posix/JackSocketServerChannel.cpp
-@@ -102,14 +102,20 @@
-     }
- }
+-                case 'o':
+-                    user_playback_nchnls = param->value.ui;
+-                    break;
++            case 'z':
++                if (dither_opt (param->value.c, &dither)) {
++                    return NULL;
++                }
++                break;
  
--void JackSocketServerChannel::ClientAdd(int fd, char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
-+void JackSocketServerChannel::ClientAdd(int fd, char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
- {
-     jack_log("JackSocketServerChannel::ClientAdd");
-     int refnum = -1;
--    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, &refnum, shared_engine, shared_client, shared_graph);
-+    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, uuid, &refnum, shared_engine, shared_client, shared_graph);
-     if (*result == 0) {
-         fSocketTable[fd].first = refnum;
-         fRebuild = true;
-+    #ifdef __APPLE__
-+        int on = 1;
-+        if (setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) {
-+            jack_log("setsockopt SO_NOSIGPIPE fd = %ld err = %s", fd, strerror(errno));
-+        }
-+    #endif
-     } else {
-         jack_error("Cannot create new client");
-     }
-@@ -170,7 +176,7 @@
-             JackClientCheckRequest req;
-             JackClientCheckResult res;
-             if (req.Read(socket) == 0)
--                res.fResult = fServer->GetEngine()->ClientCheck(req.fName, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
-+                res.fResult = fServer->GetEngine()->ClientCheck(req.fName, req.fUUID, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
-             if (res.Write(socket) < 0)
-                 jack_error("JackRequest::ClientCheck write error name = %s", req.fName);
-             break;
-@@ -181,7 +187,7 @@
-             JackClientOpenRequest req;
-             JackClientOpenResult res;
-             if (req.Read(socket) == 0)
--                ClientAdd(fd, req.fName, req.fPID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
-+                ClientAdd(fd, req.fName, req.fPID, req.fUUID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
-             if (res.Write(socket) < 0)
-                 jack_error("JackRequest::ClientOpen write error name = %s", req.fName);
-             break;
-@@ -369,7 +375,7 @@
-             JackInternalClientLoadRequest req;
-             JackInternalClientLoadResult res;
-             if (req.Read(socket) == 0)
--                res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, &res.fStatus);
-+                res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, req.fUUID, &res.fStatus);
-             if (res.Write(socket) < 0)
-                 jack_error("JackRequest::InternalClientLoad write error name = %s", req.fName);
-             break;
-@@ -400,6 +406,66 @@
-             break;
-         }
+-                case 'S':
+-                    shorts_first = param->value.i;
+-                    break;
++            case 'i':
++                user_capture_nchnls = param->value.ui;
++                break;
  
-+        case JackRequest::kSessionNotify: {
-+            jack_log("JackRequest::SessionNotify");
-+            JackSessionNotifyRequest req;
-+            JackSessionNotifyResult res;
-+            if (req.Read(socket) == 0) {
-+                fServer->GetEngine()->SessionNotify(req.fRefNum, req.fDst, req.fEventType, req.fPath, socket);
-+            }
-+            break;
-+        }
-+
-+        case JackRequest::kSessionReply: {
-+            jack_log("JackRequest::SessionReply");
-+            JackSessionReplyRequest req;
-+            JackResult res;
-+            if (req.Read(socket) == 0) {
-+                fServer->GetEngine()->SessionReply(req.fRefNum);
-+                res.fResult = 0;
-+            }
-+            if (res.Write(socket) < 0)
-+                jack_error("JackRequest::SessionReply write error");
-+            break;
-+        }
-+
-+        case JackRequest::kGetClientByUUID: {
-+            jack_log("JackRequest::GetClientNameForUUID");
-+            JackGetClientNameRequest req;
-+            JackClientNameResult res;
-+            if (req.Read(socket) == 0) {
-+                fServer->GetEngine()->GetClientNameForUUID(req.fUUID, res.fName, &res.fResult);
-+            }
-+            if (res.Write(socket) < 0)
-+                jack_error("JackRequest::GetClientNameForUUID write error");
-+            break;
-+        }
-+
-+        case JackRequest::kGetUUIDByClient: {
-+            jack_log("JackRequest::GetUUIDForClientName");
-+            JackGetUUIDRequest req;
-+            JackUUIDResult res;
-+            if (req.Read(socket) == 0) {
-+                fServer->GetEngine()->GetUUIDForClientName(req.fName, res.fUUID, &res.fResult);
-+                res.fResult = 0;
-+            }
-+            if (res.Write(socket) < 0)
-+                jack_error("JackRequest::GetUUIDForClientName write error");
-+            break;
-+        }
-+
-+        case JackRequest::kReserveClientName: {
-+            jack_log("JackRequest::ReserveClientName");
-+            JackReserveNameRequest req;
-+            JackResult res;
-+            if (req.Read(socket) == 0) {
-+                fServer->GetEngine()->ReserveClientName(req.fName, req.fUUID, &res.fResult);
-+            }
-+            if (res.Write(socket) < 0)
-+                jack_error("JackRequest::ReserveClientName write error");
-+            break;
-+        }
-+
-         default:
-             jack_error("Unknown request %ld", header.fType);
-             break;
---- a/posix/JackSocketServerChannel.h
-+++ b/posix/JackSocketServerChannel.h
-@@ -39,10 +39,10 @@
+-                case 'I':
+-                    systemic_input_latency = param->value.ui;
+-                    break;
++            case 'o':
++                user_playback_nchnls = param->value.ui;
++                break;
  
-     private:
+-                case 'O':
+-                    systemic_output_latency = param->value.ui;
+-                    break;
++            case 'S':
++                shorts_first = param->value.i;
++                break;
  
--        JackServerSocket fRequestListenSocket;	// Socket to create request socket for the client
-+        JackServerSocket fRequestListenSocket;  // Socket to create request socket for the client
-         JackThread fThread;                     // Thread to execute the event loop
--        JackServer*	fServer;
--        pollfd*	fPollTable;
-+        JackServer*     fServer;
-+        pollfd* fPollTable;
-         bool fRebuild;
-         std::map<int, std::pair<int, JackClientSocket*> > fSocketTable;
+-                case 'X':
+-                    midi_driver = strdup(param->value.str);
+-                    break;
+-            }
+-        }
++            case 'I':
++                systemic_input_latency = param->value.ui;
++                break;
  
-@@ -50,7 +50,7 @@
-         void BuildPoolTable();
+-        /* duplex is the default */
+-        if (!capture && !playback) {
+-            capture = TRUE;
+-            playback = TRUE;
+-        }
++            case 'O':
++                systemic_output_latency = param->value.ui;
++                break;
  
-         void ClientCreate();
--        void ClientAdd(int fd, char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-+        void ClientAdd(int fd, char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-         void ClientRemove(int fd, int refnum);
-         void ClientKill(int fd);
+-        Jack::JackAlsaDriver* alsa_driver = new Jack::JackAlsaDriver("system", "alsa_pcm", engine, table);
+-        Jack::JackDriverClientInterface* threaded_driver = new Jack::JackThreadedDriver(alsa_driver);
+-        // Special open for ALSA driver...
+-        if (alsa_driver->Open(frames_per_interrupt, user_nperiods, srate, hw_monitoring, hw_metering, capture, playback, dither, soft_mode, monitor,
+-                              user_capture_nchnls, user_playback_nchnls, shorts_first, capture_pcm_name, playback_pcm_name,
+-                              systemic_input_latency, systemic_output_latency, midi_driver) == 0) {
+-            return threaded_driver;
+-        } else {
+-            delete threaded_driver; // Delete the decorated driver
+-            return NULL;
++            case 'X':
++                midi_driver = strdup(param->value.str);
++                break;
+         }
+     }
  
---- a/solaris/oss/JackBoomerDriver.cpp
-+++ b/solaris/oss/JackBoomerDriver.cpp
-@@ -634,6 +634,7 @@
-     return true;
++    /* duplex is the default */
++    if (!capture && !playback) {
++        capture = TRUE;
++        playback = TRUE;
++    }
++
++    Jack::JackAlsaDriver* alsa_driver = new Jack::JackAlsaDriver("system", "alsa_pcm", engine, table);
++    Jack::JackDriverClientInterface* threaded_driver = new Jack::JackThreadedDriver(alsa_driver);
++    // Special open for ALSA driver...
++    if (alsa_driver->Open(frames_per_interrupt, user_nperiods, srate, hw_monitoring, hw_metering, capture, playback, dither, soft_mode, monitor,
++                          user_capture_nchnls, user_playback_nchnls, shorts_first, capture_pcm_name, playback_pcm_name,
++                          systemic_input_latency, systemic_output_latency, midi_driver) == 0) {
++        return threaded_driver;
++    } else {
++        delete threaded_driver; // Delete the decorated driver
++        return NULL;
++    }
++}
++
+ #ifdef __cplusplus
  }
+ #endif
+--- a/linux/freebob/JackFreebobDriver.cpp
++++ b/linux/freebob/JackFreebobDriver.cpp
+@@ -854,6 +854,8 @@
+     int wait_status = 0;
+     fDelayedUsecs = 0.f;
  
-+// TODO : better error handling
- bool JackBoomerDriver::JackBoomerDriverInput::Execute()
- {
-   
-@@ -721,6 +722,7 @@
-     return true;
- }
++retry:
++
+     jack_nframes_t nframes = freebob_driver_wait (driver, -1, &wait_status,
+                              &fDelayedUsecs);
  
-+// TODO : better error handling
- bool JackBoomerDriver::JackBoomerDriverOutput::Execute()
- {
-     memset(fDriver->fOutputBuffer, 0, fDriver->fOutputBufferSize);
---- a/solaris/oss/JackBoomerDriver.h
-+++ b/solaris/oss/JackBoomerDriver.h
-@@ -152,10 +152,7 @@
-         }
+@@ -868,11 +870,11 @@
+          */
+         jack_log("FreeBoB XRun");
+         NotifyXRun(fBeginDateUst, fDelayedUsecs);
+-        return -1;
++        goto retry; /* recoverable error*/
+     }
  
-         int SetBufferSize(jack_nframes_t buffer_size);
--        
--        bool Init();
--        bool Execute();
--
-+  
- };
+     if (nframes != fEngineControl->fBufferSize)
+-        jack_log("JackFreebobDriver::Read nframes = %ld", nframes);
++        jack_log("JackFreebobDriver::Read warning nframes = %ld", nframes);
  
- } // end of namespace
---- a/solaris/oss/JackOSSDriver.cpp
-+++ b/solaris/oss/JackOSSDriver.cpp
-@@ -707,7 +707,7 @@
-     // Read input buffers for the current cycle
-     if (Read() < 0) { 
-         jack_error("ProcessSync: read error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+        return 0;   // Non fatal error here, skip cycle, but continue processing...
-     }
+     // Has to be done before read
+     JackDriver::CycleIncTime();
+--- a/linux/firewire/JackFFADODriver.cpp
++++ b/linux/firewire/JackFFADODriver.cpp
+@@ -664,6 +664,8 @@
+     int wait_status = 0;
+     fDelayedUsecs = 0.f;
  
-     if (fIsMaster) {
-@@ -719,7 +719,7 @@
-     // Write output buffers for the current cycle
-     if (Write() < 0) { 
-         jack_error("JackAudioDriver::ProcessSync: write error, skip cycle");
--        return 0;   // Skip cycle, but continue processing...
-+        return 0;   // Non fatal error here, skip cycle, but continue processing...
++retry:
++
+     jack_nframes_t nframes = ffado_driver_wait(driver, -1, &wait_status,
+                              &fDelayedUsecs);
+ 
+@@ -678,11 +680,11 @@
+          */
+         jack_log("FFADO XRun");
+         NotifyXRun(fBeginDateUst, fDelayedUsecs);
+-        return -1;
++        goto retry; /* recoverable error*/
      }
-     
-     return 0;
+ 
+     if (nframes != fEngineControl->fBufferSize)
+-        jack_log("JackFFADODriver::Read nframes = %ld", nframes);
++        jack_log("JackFFADODriver::Read warning nframes = %ld", nframes);
+         
+     // Has to be done before read
+     JackDriver::CycleIncTime();
 --- a/tests/test.cpp
 +++ b/tests/test.cpp
 @@ -169,7 +169,7 @@
@@ -24839,32 +25522,176 @@ Forwarded: not-needed
          Log("%i ports have been successfully created, and %i callback reg ports have been received... ok\n", j, port_callback_reg);
      } else {
          printf("!!! ERROR !!! %i ports have been created, and %i callback reg ports have been received !\n", j, port_callback_reg);
---- a/windows/JackWinNamedPipeClientChannel.cpp
-+++ b/windows/JackWinNamedPipeClientChannel.cpp
-@@ -48,7 +48,7 @@
+--- a/posix/JackSocketServerChannel.cpp
++++ b/posix/JackSocketServerChannel.cpp
+@@ -102,14 +102,20 @@
      }
  }
  
--int JackWinNamedPipeClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
-+int JackWinNamedPipeClientChannel::Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
+-void JackSocketServerChannel::ClientAdd(int fd, char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
++void JackSocketServerChannel::ClientAdd(int fd, char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
+ {
+     jack_log("JackSocketServerChannel::ClientAdd");
+     int refnum = -1;
+-    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, &refnum, shared_engine, shared_client, shared_graph);
++    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, uuid, &refnum, shared_engine, shared_client, shared_graph);
+     if (*result == 0) {
+         fSocketTable[fd].first = refnum;
+         fRebuild = true;
++    #ifdef __APPLE__
++        int on = 1;
++        if (setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) {
++            jack_log("setsockopt SO_NOSIGPIPE fd = %ld err = %s", fd, strerror(errno));
++        }
++    #endif
+     } else {
+         jack_error("Cannot create new client");
+     }
+@@ -170,7 +176,7 @@
+             JackClientCheckRequest req;
+             JackClientCheckResult res;
+             if (req.Read(socket) == 0)
+-                res.fResult = fServer->GetEngine()->ClientCheck(req.fName, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
++                res.fResult = fServer->GetEngine()->ClientCheck(req.fName, req.fUUID, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
+             if (res.Write(socket) < 0)
+                 jack_error("JackRequest::ClientCheck write error name = %s", req.fName);
+             break;
+@@ -181,7 +187,7 @@
+             JackClientOpenRequest req;
+             JackClientOpenResult res;
+             if (req.Read(socket) == 0)
+-                ClientAdd(fd, req.fName, req.fPID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
++                ClientAdd(fd, req.fName, req.fPID, req.fUUID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
+             if (res.Write(socket) < 0)
+                 jack_error("JackRequest::ClientOpen write error name = %s", req.fName);
+             break;
+@@ -369,7 +375,7 @@
+             JackInternalClientLoadRequest req;
+             JackInternalClientLoadResult res;
+             if (req.Read(socket) == 0)
+-                res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, &res.fStatus);
++                res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, req.fUUID, &res.fStatus);
+             if (res.Write(socket) < 0)
+                 jack_error("JackRequest::InternalClientLoad write error name = %s", req.fName);
+             break;
+@@ -400,6 +406,66 @@
+             break;
+         }
+ 
++        case JackRequest::kSessionNotify: {
++            jack_log("JackRequest::SessionNotify");
++            JackSessionNotifyRequest req;
++            JackSessionNotifyResult res;
++            if (req.Read(socket) == 0) {
++                fServer->GetEngine()->SessionNotify(req.fRefNum, req.fDst, req.fEventType, req.fPath, socket);
++            }
++            break;
++        }
++
++        case JackRequest::kSessionReply: {
++            jack_log("JackRequest::SessionReply");
++            JackSessionReplyRequest req;
++            JackResult res;
++            if (req.Read(socket) == 0) {
++                fServer->GetEngine()->SessionReply(req.fRefNum);
++                res.fResult = 0;
++            }
++            if (res.Write(socket) < 0)
++                jack_error("JackRequest::SessionReply write error");
++            break;
++        }
++
++        case JackRequest::kGetClientByUUID: {
++            jack_log("JackRequest::GetClientNameForUUID");
++            JackGetClientNameRequest req;
++            JackClientNameResult res;
++            if (req.Read(socket) == 0) {
++                fServer->GetEngine()->GetClientNameForUUID(req.fUUID, res.fName, &res.fResult);
++            }
++            if (res.Write(socket) < 0)
++                jack_error("JackRequest::GetClientNameForUUID write error");
++            break;
++        }
++
++        case JackRequest::kGetUUIDByClient: {
++            jack_log("JackRequest::GetUUIDForClientName");
++            JackGetUUIDRequest req;
++            JackUUIDResult res;
++            if (req.Read(socket) == 0) {
++                fServer->GetEngine()->GetUUIDForClientName(req.fName, res.fUUID, &res.fResult);
++                res.fResult = 0;
++            }
++            if (res.Write(socket) < 0)
++                jack_error("JackRequest::GetUUIDForClientName write error");
++            break;
++        }
++
++        case JackRequest::kReserveClientName: {
++            jack_log("JackRequest::ReserveClientName");
++            JackReserveNameRequest req;
++            JackResult res;
++            if (req.Read(socket) == 0) {
++                fServer->GetEngine()->ReserveClientName(req.fName, req.fUUID, &res.fResult);
++            }
++            if (res.Write(socket) < 0)
++                jack_error("JackRequest::ReserveClientName write error");
++            break;
++        }
++
+         default:
+             jack_error("Unknown request %ld", header.fType);
+             break;
+--- a/posix/JackSocketServerChannel.h
++++ b/posix/JackSocketServerChannel.h
+@@ -39,10 +39,10 @@
+ 
+     private:
+ 
+-        JackServerSocket fRequestListenSocket;	// Socket to create request socket for the client
++        JackServerSocket fRequestListenSocket;  // Socket to create request socket for the client
+         JackThread fThread;                     // Thread to execute the event loop
+-        JackServer*	fServer;
+-        pollfd*	fPollTable;
++        JackServer*     fServer;
++        pollfd* fPollTable;
+         bool fRebuild;
+         std::map<int, std::pair<int, JackClientSocket*> > fSocketTable;
+ 
+@@ -50,7 +50,7 @@
+         void BuildPoolTable();
+ 
+         void ClientCreate();
+-        void ClientAdd(int fd, char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
++        void ClientAdd(int fd, char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
+         void ClientRemove(int fd, int refnum);
+         void ClientKill(int fd);
+ 
+--- a/posix/JackSocketClientChannel.cpp
++++ b/posix/JackSocketClientChannel.cpp
+@@ -51,7 +51,7 @@
+     }
+ }
+ 
+-int JackSocketClientChannel::Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
++int JackSocketClientChannel::Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
  {
      int result = 0;
-     jack_log("JackWinNamedPipeClientChannel::Open name = %s", name);
-@@ -67,7 +67,7 @@
+     jack_log("JackSocketClientChannel::Open name = %s", name);
+@@ -62,7 +62,7 @@
      }
  
      // Check name in server
 -    ClientCheck(name, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
 +    ClientCheck(name, uuid, name_res, JACK_PROTOCOL_VERSION, (int)options, (int*)status, &result);
      if (result < 0) {
-         jack_error("Client name = %s conflits with another running client", name);
-         goto error;
+         int status1 = *status;
+         if (status1 & JackVersionError)
 @@ -142,18 +142,18 @@
      }
  }
  
--void JackWinNamedPipeClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
-+void JackWinNamedPipeClientChannel::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
+-void JackSocketClientChannel::ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result)
++void JackSocketClientChannel::ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
  {
 -    JackClientCheckRequest req(name, protocol, options);
 +    JackClientCheckRequest req(name, protocol, options, uuid);
@@ -24874,100 +25701,132 @@ Forwarded: not-needed
      strcpy(name_res, res.fName);
  }
  
--void JackWinNamedPipeClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
-+void JackWinNamedPipeClientChannel::ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
+-void JackSocketClientChannel::ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
++void JackSocketClientChannel::ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
  {
 -    JackClientOpenRequest req(name, pid);
 +    JackClientOpenRequest req(name, pid, uuid);
      JackClientOpenResult res;
      ServerSyncCall(&req, &res, result);
      *shared_engine = res.fSharedEngine;
-@@ -246,6 +246,16 @@
+@@ -246,6 +246,64 @@
      ServerSyncCall(&req, &res, result);
  }
  
-+void JackWinNamedPipeClientChannel::SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result)
++void JackSocketClientChannel::SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t ** result)
 +{
-+    JackSessionNotifyRequest req(refnum, target, type, path);
-+    JackResult res;
++    JackSessionNotifyRequest req(refnum, path, type, target);
++    JackSessionNotifyResult  res;
 +    int intresult;
 +    ServerSyncCall(&req, &res, &intresult);
 +
-+    *result = NULL;
++    jack_session_command_t *session_command = (jack_session_command_t *)malloc( sizeof(jack_session_command_t) * (res.fCommandList.size()+1) );
++    int i=0;
++   
++    for (std::list<JackSessionCommand>::iterator ci=res.fCommandList.begin(); ci!=res.fCommandList.end(); ci++) {
++	session_command[i].uuid = strdup( ci->fUUID );
++	session_command[i].client_name = strdup( ci->fClientName );
++	session_command[i].command = strdup( ci->fCommand );
++	session_command[i].flags = ci->fFlags;
++
++	i+=1;
++    }	
++	
++    session_command[i].uuid = NULL;
++    session_command[i].client_name = NULL;
++    session_command[i].command = NULL;
++    session_command[i].flags = (jack_session_flags_t)0;
++
++
++    *result = session_command;
 +}
 +
- void JackWinNamedPipeClientChannel::ReleaseTimebase(int refnum, int* result)
++void JackSocketClientChannel::SessionReply(int refnum, int* result)
++{
++    JackSessionReplyRequest req(refnum);
++    JackResult  res;
++    ServerSyncCall(&req, &res, result);
++}
++
++void JackSocketClientChannel::GetUUIDForClientName( int refnum, const char *client_name, char *uuid_res, int *result )
++{
++    JackGetUUIDRequest req(client_name);
++    JackUUIDResult  res;
++    ServerSyncCall(&req, &res, result);
++    strncpy( uuid_res, res.fUUID, JACK_UUID_SIZE );
++}
++
++void JackSocketClientChannel::GetClientNameForUUID( int refnum, const char *uuid, char *name_res, int *result )
++{
++    JackGetClientNameRequest req(uuid);
++    JackClientNameResult  res;
++    ServerSyncCall(&req, &res, result);
++    strncpy( name_res, res.fName, JACK_CLIENT_NAME_SIZE );
++}
++
++void JackSocketClientChannel::ReserveClientName( int refnum, const char *client_name, const char *uuid, int *result )
++{
++    JackReserveNameRequest req(refnum, client_name, uuid);
++    JackResult  res;
++    ServerSyncCall(&req, &res, result);
++}
++
+ void JackSocketClientChannel::ReleaseTimebase(int refnum, int* result)
  {
      JackReleaseTimebaseRequest req(refnum);
-@@ -277,9 +287,9 @@
+@@ -277,9 +335,9 @@
      *status = res.fStatus;
  }
  
--void JackWinNamedPipeClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
-+void JackWinNamedPipeClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
+-void JackSocketClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result)
++void JackSocketClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
  {
 -    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options);
 +    JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options, uuid);
      JackInternalClientLoadResult res;
      ServerSyncCall(&req, &res, result);
      *int_ref = res.fIntRefNum;
---- a/windows/JackWinNamedPipeClientChannel.h
-+++ b/windows/JackWinNamedPipeClientChannel.h
-@@ -1,20 +1,20 @@
- /*
-  Copyright (C) 2004-2008 Grame
-- 
-+
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as published by
-  the Free Software Foundation; either version 2.1 of the License, or
-  (at your option) any later version.
-- 
-+
-  This program 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 Lesser General Public License for more details.
-- 
-+
-  You should have received a copy of the GNU Lesser General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-- 
-+
-  */
+--- a/posix/JackSocketClientChannel.h
++++ b/posix/JackSocketClientChannel.h
+@@ -38,11 +38,11 @@
  
+     private:
  
-@@ -51,7 +51,7 @@
-         JackWinNamedPipeClientChannel();
-         virtual ~JackWinNamedPipeClientChannel();
+-        JackClientSocket fRequestSocket;			// Socket to communicate with the server
+-        JackServerSocket fNotificationListenSocket;	// Socket listener for server notification
+-        JackClientSocket* fNotificationSocket;		// Socket for server notification
++        JackClientSocket fRequestSocket;                        // Socket to communicate with the server
++        JackServerSocket fNotificationListenSocket;     // Socket listener for server notification
++        JackClientSocket* fNotificationSocket;          // Socket for server notification
+         JackThread fThread;                         // Thread to execute the event loop
+-        JackClient*	fClient;
++        JackClient*     fClient;
+ 
+         void ServerSyncCall(JackRequest* req, JackResult* res, int* result);
+         void ServerAsyncCall(JackRequest* req, JackResult* res, int* result);
+@@ -52,7 +52,7 @@
+         JackSocketClientChannel();
+         virtual ~JackSocketClientChannel();
  
 -        int Open(const char* server_name, const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
 +        int Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status);
          void Close();
  
          int Start();
-@@ -59,8 +59,8 @@
+@@ -60,9 +60,9 @@
  
          int ServerCheck(const char* server_name);
  
 -        void ClientCheck(const char* name, char* name_res, int protocol, int options, int* status, int* result);
 -        void ClientOpen(const char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
+-        void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
 +        void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result);
 +        void ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-         void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
++        void ClientOpen(const char* name, int* ref, int uuid, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
          {}
          void ClientClose(int refnum, int* result);
-@@ -76,7 +76,7 @@
- 
-         void PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result);
-         void PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result);
--        
-+
-         void PortRename(int refnum, jack_port_id_t port, const char* name, int* result);
  
-         void SetBufferSize(jack_nframes_t buffer_size, int* result);
-@@ -87,9 +87,11 @@
+@@ -88,12 +88,22 @@
  
          void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result);
          void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result);
@@ -24975,318 +25834,140 @@ Forwarded: not-needed
 +        void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result);
          void InternalClientUnload(int refnum, int int_ref, int* status, int* result);
  
++        // Session Stuff
 +        void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result);
++        void SessionReply(int refnum, int* result);
++        void GetUUIDForClientName( int refnum, const char *client_name, char *uuid_res, int *result );
++        void GetClientNameForUUID( int refnum, const char *uuid, char *name_res, int *result );
++        void ReserveClientName( int refnum, const char *client_name, const char *uuid, int *result );
 +
          // JackRunnableInterface interface
          bool Init();
          bool Execute();
---- a/windows/JackWinNamedPipeServerChannel.cpp
-+++ b/windows/JackWinNamedPipeServerChannel.cpp
-@@ -53,7 +53,7 @@
-     delete fPipe;
- }
- 
--int JackClientPipeThread::Open(JackServer* server)	// Open the Server/Client connection
-+int JackClientPipeThread::Open(JackServer* server)      // Open the Server/Client connection
- {
-     // Start listening
-     if (fThread.Start() != 0) {
-@@ -65,13 +65,13 @@
-     return 0;
- }
- 
--void JackClientPipeThread::Close()					// Close the Server/Client connection
-+void JackClientPipeThread::Close()                                      // Close the Server/Client connection
- {
-     jack_log("JackClientPipeThread::Close %x %ld", this, fRefNum);
-     /*
--    	TODO : solve WIN32 thread Kill issue
--    	This would hang.. since Close will be followed by a delete,
--    	all ressources will be desallocated at the end.
-+        TODO : solve WIN32 thread Kill issue
-+        This would hang.. since Close will be followed by a delete,
-+        all ressources will be desallocated at the end.
-     */
- 
-     fThread.Kill();
-@@ -115,7 +115,7 @@
-                 JackClientCheckRequest req;
-                 JackClientCheckResult res;
-                 if (req.Read(fPipe) == 0)
--                    res.fResult = fServer->GetEngine()->ClientCheck(req.fName, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
-+                    res.fResult = fServer->GetEngine()->ClientCheck(req.fName, req.fUUID, res.fName, req.fProtocol, req.fOptions, &res.fStatus);
-                 res.Write(fPipe);
-                 break;
-             }
-@@ -125,7 +125,7 @@
-                 JackClientOpenRequest req;
-                 JackClientOpenResult res;
-                 if (req.Read(fPipe) == 0)
--                    ClientAdd(req.fName, req.fPID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
-+                    ClientAdd(req.fName, req.fPID, req.fUUID, &res.fSharedEngine, &res.fSharedClient, &res.fSharedGraph, &res.fResult);
-                 res.Write(fPipe);
-                 break;
-             }
-@@ -297,7 +297,7 @@
-                 JackInternalClientLoadRequest req;
-                 JackInternalClientLoadResult res;
-                 if (req.Read(fPipe) == 0)
--                    res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, &res.fStatus);
-+                    res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, req.fUUID, &res.fStatus);
-                 res.Write(fPipe);
-                 break;
-             }
-@@ -326,6 +326,63 @@
-                 break;
-             }
- 
-+            case JackRequest::kSessionNotify: {
-+                jack_log("JackRequest::SessionNotify");
-+                JackSessionNotifyRequest req;
-+                JackSessionNotifyResult res;
-+                if (req.Read(fPipe) == 0) {
-+                    fServer->GetEngine()->SessionNotify(req.fRefNum, req.fDst, req.fEventType, req.fPath, fPipe);
-+                }
-+                res.Write(fPipe);
-+                break;
-+            }
-+
-+            case JackRequest::kSessionReply: {
-+                jack_log("JackRequest::SessionReply");
-+                JackSessionReplyRequest req;
-+                JackResult res;
-+                if (req.Read(fPipe) == 0) {
-+                    fServer->GetEngine()->SessionReply(req.fRefNum);
-+                    res.fResult = 0;
-+                }
-+                break;
-+            }
-+
-+            case JackRequest::kGetClientByUUID: {
-+                jack_log("JackRequest::GetClientNameForUUID");
-+                JackGetClientNameRequest req;
-+                JackClientNameResult res;
-+                if (req.Read(fPipe) == 0) {
-+                    fServer->GetEngine()->GetClientNameForUUID(req.fUUID, res.fName, &res.fResult);
-+                }
-+                res.Write(fPipe);
-+                break;
-+            }
-+
-+            case JackRequest::kGetUUIDByClient: {
-+                jack_log("JackRequest::GetUUIDForClientName");
-+                JackGetUUIDRequest req;
-+                JackUUIDResult res;
-+                if (req.Read(fPipe) == 0) {
-+                    fServer->GetEngine()->GetUUIDForClientName(req.fName, res.fUUID, &res.fResult);
-+                    res.fResult = 0;
-+                }
-+                res.Write(fPipe);
-+                break;
-+            }
-+
-+            case JackRequest::kReserveClientName: {
-+                jack_log("JackRequest::ReserveClientName");
-+                JackReserveNameRequest req;
-+                JackResult res;
-+                if (req.Read(fPipe) == 0) {
-+                    fServer->GetEngine()->ReserveClientName(req.fName, req.fUUID, &res.fResult);
-+                    res.fResult = 0;
-+                }
-+                res.Write(fPipe);
-+                break;
-+            }
-+
-             default:
-                 jack_log("Unknown request %ld", header.fType);
-                 break;
-@@ -337,11 +394,11 @@
-     return ret;
- }
- 
--void JackClientPipeThread::ClientAdd(char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
-+void JackClientPipeThread::ClientAdd(char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
- {
-     jack_log("JackClientPipeThread::ClientAdd %s", name);
-     fRefNum = -1;
--    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, &fRefNum, shared_engine, shared_client, shared_graph);
-+    *result = fServer->GetEngine()->ClientExternalOpen(name, pid, uuid, &fRefNum, shared_engine, shared_client, shared_graph);
- }
- 
- void JackClientPipeThread::ClientRemove()
-@@ -358,7 +415,7 @@
- {
-     jack_log("JackClientPipeThread::ClientKill ref = %d", fRefNum);
- 
--    if (fRefNum == -1) {		// Correspond to an already removed client.
-+    if (fRefNum == -1) {                // Correspond to an already removed client.
-         jack_log("Kill a closed client");
-     } else if (fRefNum == 0) {  // Correspond to a still not opened client.
-         jack_log("Kill a not opened client");
-@@ -401,10 +458,10 @@
- void JackWinNamedPipeServerChannel::Close()
- {
-     /* TODO : solve WIN32 thread Kill issue
--    	This would hang the server... since we are quitting it, its not really problematic,
--    	all ressources will be desallocated at the end.
-+        This would hang the server... since we are quitting it, its not really problematic,
-+        all ressources will be desallocated at the end.
- 
--    	fRequestListenPipe.Close();
-+        fRequestListenPipe.Close();
-         fThread.Stop();
-     */
- 
---- a/windows/JackWinNamedPipeServerChannel.h
-+++ b/windows/JackWinNamedPipeServerChannel.h
-@@ -1,20 +1,20 @@
- /*
-  Copyright (C) 2004-2008 Grame
-- 
-+
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as published by
-  the Free Software Foundation; either version 2.1 of the License, or
-  (at your option) any later version.
-- 
 +
-  This program 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 Lesser General Public License for more details.
-- 
-+
-  You should have received a copy of the GNU Lesser General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-- 
-+
-  */
- 
- 
-@@ -40,7 +40,7 @@
-         JackThread fThread;
-         int fRefNum;
- 
--        void ClientAdd(char* name, int pid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-+        void ClientAdd(char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result);
-         void ClientRemove();
-         void ClientKill();
- 
-@@ -53,7 +53,7 @@
- 
-         int Open(JackServer* server);   // Open the Server/Client connection
-         void Close();                   // Close the Server/Client connection
--   
 +
-         bool HandleRequest();
++        bool IsChannelThread() { return fThread.IsThread(); }
+ };
  
-         // JackRunnableInterface interface
-@@ -91,7 +91,7 @@
+ } // end of namespace
+--- a/posix/JackSocket.cpp
++++ b/posix/JackSocket.cpp
+@@ -129,7 +129,7 @@
+     }
  
-         int Open(const char* server_name, JackServer* server);  // Open the Server/Client connection
-         void Close();                                           // Close the Server/Client connection
--    
-+
-         int Start();
+ #ifdef __APPLE__
+-    int on = 1 ;
++    int on = 1;
+     if (setsockopt(fSocket, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) {
+         jack_log("setsockopt SO_NOSIGPIPE fd = %ld err = %s", fSocket, strerror(errno));
+     }
+@@ -260,7 +260,7 @@
+         goto error;
+     }
  
-         // JackRunnableInterface interface
---- a/windows/JackWinThread.cpp
-+++ b/windows/JackWinThread.cpp
-@@ -235,6 +235,11 @@
+-    if (listen(fSocket, 1) < 0) {
++    if (listen(fSocket, 100) < 0) {
+         jack_error("Cannot enable listen on server socket err = %s", strerror(errno));
+         goto error;
+     }
+--- a/posix/JackPosixThread.cpp
++++ b/posix/JackPosixThread.cpp
+@@ -117,7 +117,7 @@
+         if ((res = pthread_attr_setinheritsched(&attributes, PTHREAD_EXPLICIT_SCHED))) {
+             jack_error("Cannot request explicit scheduling for RT thread res = %d", res);
+             return -1;
+-    	}
++        }
+     
+         if ((res = pthread_attr_setschedpolicy(&attributes, JACK_SCHED_POLICY))) {
+             jack_error("Cannot set RR scheduling class for RT thread res = %d", res);
+@@ -270,6 +270,11 @@
      return fThread;
  }
  
-+bool JackWinThread::IsThread()
++bool JackPosixThread::IsThread()
 +{
-+    return GetCurrentThread() == fThread;
++    return pthread_self() == fThread;
 +}
 +
- void JackWinThread::Terminate()
+ void JackPosixThread::Terminate()
  {
-     jack_log("JackWinThread::Terminate");
---- a/windows/JackWinThread.h
-+++ b/windows/JackWinThread.h
-@@ -1,20 +1,20 @@
- /*
-  Copyright (C) 2004-2008 Grame
-- 
-+
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as published by
-  the Free Software Foundation; either version 2.1 of the License, or
-  (at your option) any later version.
-- 
-+
-  This program 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 Lesser General Public License for more details.
-- 
-+
-  You should have received a copy of the GNU Lesser General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-- 
-+
-  */
- 
- 
-@@ -59,24 +59,25 @@
- 
-         int AcquireRealTime();                  // Used when called from another thread
-         int AcquireSelfRealTime();              // Used when called from thread itself
--        
-+
-         int AcquireRealTime(int priority);      // Used when called from another thread
-         int AcquireSelfRealTime(int priority);  // Used when called from thread itself
--        
-+
-         int DropRealTime();                     // Used when called from another thread
+     jack_log("JackPosixThread::Terminate");
+--- a/posix/JackCompilerDeps_os.h
++++ b/posix/JackCompilerDeps_os.h
+@@ -48,7 +48,7 @@
+             #define SERVER_EXPORT __attribute__((visibility("default")))
+         #endif
+     #else
+-        #define SERVER_EXPORT
++        #define SERVER_EXPORT __attribute__((visibility("hidden")))
+     #endif
+ #else
+     #define MEM_ALIGN(x,y) x
+--- a/posix/JackPosixThread.h
++++ b/posix/JackPosixThread.h
+@@ -68,10 +68,11 @@
          int DropSelfRealTime();                 // Used when called from thread itself
--   
-+
+ 
          pthread_t GetThreadID();
 +        bool IsThread();
  
          static int AcquireRealTimeImp(pthread_t thread, int priority);
          static int AcquireRealTimeImp(pthread_t thread, int priority, UInt64 period, UInt64 computation, UInt64 constraint)
--        { 
--            return JackWinThread::AcquireRealTimeImp(thread, priority); 
-+        {
-+            return JackWinThread::AcquireRealTimeImp(thread, priority);
-         }
+-		{ return JackPosixThread::AcquireRealTimeImp(thread, priority); }
++                { return JackPosixThread::AcquireRealTimeImp(thread, priority); }
          static int DropRealTimeImp(pthread_t thread);
-         static int StartImp(pthread_t* thread, int priority, int realtime, void*(*start_routine)(void*), void* arg)
--        { 
--            return JackWinThread::StartImp(thread, priority, realtime, (ThreadCallback) start_routine, arg); 
-+        {
-+            return JackWinThread::StartImp(thread, priority, realtime, (ThreadCallback) start_routine, arg);
-         }
-         static int StartImp(pthread_t* thread, int priority, int realtime, ThreadCallback start_routine, void* arg);
+         static int StartImp(pthread_t* thread, int priority, int realtime, void*(*start_routine)(void*), void* arg);
          static int StopImp(pthread_t thread);
---- a/windows/Setup/jack.ci
-+++ b/windows/Setup/jack.ci
-@@ -1,9 +1,9 @@
- <*project
-       version = 4 civer = "Free v4.14.5" winver = "2.6/5.1.2600" > 
-    <output> .</>
--   <exename> Jack_v1.9.6_setup.exe</>
-+   <exename> Jack_v1.9.7_setup.exe</>
-    <digitsign> </>
--   <appname> Jack v1.9.6</>
-+   <appname> Jack v1.9.7</>
-    <password> </>
-    <addlang> </>
-    <icon> Default - 2</>
---- a/wscript
-+++ b/wscript
-@@ -11,7 +11,7 @@
- import re
- import Logs
+--- a/solaris/oss/JackBoomerDriver.cpp
++++ b/solaris/oss/JackBoomerDriver.cpp
+@@ -634,6 +634,7 @@
+     return true;
+ }
  
--VERSION='1.9.6'
-+VERSION='1.9.7'
- APPNAME='jack'
- JACK_API_VERSION = '0.1.0'
++// TODO : better error handling
+ bool JackBoomerDriver::JackBoomerDriverInput::Execute()
+ {
+   
+@@ -721,6 +722,7 @@
+     return true;
+ }
+ 
++// TODO : better error handling
+ bool JackBoomerDriver::JackBoomerDriverOutput::Execute()
+ {
+     memset(fDriver->fOutputBuffer, 0, fDriver->fOutputBufferSize);
+--- a/solaris/oss/JackOSSDriver.cpp
++++ b/solaris/oss/JackOSSDriver.cpp
+@@ -707,7 +707,7 @@
+     // Read input buffers for the current cycle
+     if (Read() < 0) { 
+         jack_error("ProcessSync: read error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++        return 0;   // Non fatal error here, skip cycle, but continue processing...
+     }
  
+     if (fIsMaster) {
+@@ -719,7 +719,7 @@
+     // Write output buffers for the current cycle
+     if (Write() < 0) { 
+         jack_error("JackAudioDriver::ProcessSync: write error, skip cycle");
+-        return 0;   // Skip cycle, but continue processing...
++        return 0;   // Non fatal error here, skip cycle, but continue processing...
+     }
+     
+     return 0;
+--- a/solaris/oss/JackBoomerDriver.h
++++ b/solaris/oss/JackBoomerDriver.h
+@@ -152,10 +152,7 @@
+         }
+ 
+         int SetBufferSize(jack_nframes_t buffer_size);
+-        
+-        bool Init();
+-        bool Execute();
+-
++  
+ };
+ 
+ } // end of namespace

-- 
jackd2 packaging



More information about the pkg-multimedia-commits mailing list