/**1* SystemStarterIPC.h - System Starter IPC definitions2* Wilfredo Sanchez | [email protected]3* Kevin Van Vechten | [email protected]4**5* Copyright (c) 1999-2001 Apple Computer, Inc. All rights reserved.6*7* @APPLE_APACHE_LICENSE_HEADER_START@8*9* Licensed under the Apache License, Version 2.0 (the "License");10* you may not use this file except in compliance with the License.11* You may obtain a copy of the License at12*13* http://www.apache.org/licenses/LICENSE-2.014*15* Unless required by applicable law or agreed to in writing, software16* distributed under the License is distributed on an "AS IS" BASIS,17* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.18* See the License for the specific language governing permissions and19* limitations under the License.20*21* @APPLE_APACHE_LICENSE_HEADER_END@22**23* Definitions used for IPC communications with SystemStarter.24* SystemStarter listens on a CFMessagePort with the name defined by25* kSystemStarterMessagePort. The messageID of each message should26* be set to the kIPCProtocolVersion constant. The contents of each27* message should be an XML plist containing a dictionary using28* the keys defined in this file.29**/3031#ifndef _SYSTEM_STARTER_IPC_H32#define _SYSTEM_STARTER_IPC_H3334#include <CoreFoundation/CFString.h>35#include <mach/message.h>3637/* Compatible with inline CFMessagePort messages. */38typedef struct SystemStarterIPCMessage {39mach_msg_header_t aHeader;40mach_msg_body_t aBody;41SInt32 aProtocol;42SInt32 aByteLength;43/* Data follows. */44} SystemStarterIPCMessage;4546/* Name of the CFMessagePort SystemStarter listens on. */47#define kSystemStarterMessagePort "com.apple.SystemStarter"4849/* kIPCProtocolVersion should be passed as the messageID of the CFMessage. */50#define kIPCProtocolVersion 05152/* kIPCTypeKey should be provided for all messages. */53#define kIPCMessageKey CFSTR("Message")5455/* Messages are one of the following types: */56#define kIPCConsoleMessage CFSTR("ConsoleMessage")57#define kIPCStatusMessage CFSTR("StatusMessage")58#define kIPCQueryMessage CFSTR("QueryMessage")59#define kIPCLoadDisplayBundleMessage CFSTR("LoadDisplayBundle")60#define kIPCUnloadDisplayBundleMessage CFSTR("UnloadDisplayBundle")6162/* kIPCServiceNameKey identifies a startup item by one of the services it provides. */63#define kIPCServiceNameKey CFSTR("ServiceName")6465/* kIPCProcessIDKey identifies a running startup item by its process id. */66#define kIPCProcessIDKey CFSTR("ProcessID")6768/* kIPCConsoleMessageKey contains the non-localized string to69* display for messages of type kIPCTypeConsoleMessage.70*/71#define kIPCConsoleMessageKey CFSTR("ConsoleMessage")7273/* kIPCStatus key contains a boolean value. True for success, false for failure. */74#define kIPCStatusKey CFSTR("StatusKey")7576/* kIPCDisplayBundlePathKey contains a string path to the display bundle77SystemStarter should attempt to load. */78#define kIPCDisplayBundlePathKey CFSTR("DisplayBundlePath")7980/* kIPCConfigNamegKey contains the name of a config setting to query */81#define kIPCConfigSettingKey CFSTR("ConfigSetting")8283/* Some config settings */84#define kIPCConfigSettingVerboseFlag CFSTR("VerboseFlag")85#define kIPCConfigSettingNetworkUp CFSTR("NetworkUp")8687#endif /* _SYSTEM_STARTER_IPC_H */888990