Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/openlaunchd
Path: blob/master/SystemStarter/SystemStarterIPC.h
374 views
1
/**
2
* SystemStarterIPC.h - System Starter IPC definitions
3
* Wilfredo Sanchez | [email protected]
4
* Kevin Van Vechten | [email protected]
5
**
6
* Copyright (c) 1999-2001 Apple Computer, Inc. All rights reserved.
7
*
8
* @APPLE_APACHE_LICENSE_HEADER_START@
9
*
10
* Licensed under the Apache License, Version 2.0 (the "License");
11
* you may not use this file except in compliance with the License.
12
* You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing, software
17
* distributed under the License is distributed on an "AS IS" BASIS,
18
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
* See the License for the specific language governing permissions and
20
* limitations under the License.
21
*
22
* @APPLE_APACHE_LICENSE_HEADER_END@
23
**
24
* Definitions used for IPC communications with SystemStarter.
25
* SystemStarter listens on a CFMessagePort with the name defined by
26
* kSystemStarterMessagePort. The messageID of each message should
27
* be set to the kIPCProtocolVersion constant. The contents of each
28
* message should be an XML plist containing a dictionary using
29
* the keys defined in this file.
30
**/
31
32
#ifndef _SYSTEM_STARTER_IPC_H
33
#define _SYSTEM_STARTER_IPC_H
34
35
#include <CoreFoundation/CFString.h>
36
#include <mach/message.h>
37
38
/* Compatible with inline CFMessagePort messages. */
39
typedef struct SystemStarterIPCMessage {
40
mach_msg_header_t aHeader;
41
mach_msg_body_t aBody;
42
SInt32 aProtocol;
43
SInt32 aByteLength;
44
/* Data follows. */
45
} SystemStarterIPCMessage;
46
47
/* Name of the CFMessagePort SystemStarter listens on. */
48
#define kSystemStarterMessagePort "com.apple.SystemStarter"
49
50
/* kIPCProtocolVersion should be passed as the messageID of the CFMessage. */
51
#define kIPCProtocolVersion 0
52
53
/* kIPCTypeKey should be provided for all messages. */
54
#define kIPCMessageKey CFSTR("Message")
55
56
/* Messages are one of the following types: */
57
#define kIPCConsoleMessage CFSTR("ConsoleMessage")
58
#define kIPCStatusMessage CFSTR("StatusMessage")
59
#define kIPCQueryMessage CFSTR("QueryMessage")
60
#define kIPCLoadDisplayBundleMessage CFSTR("LoadDisplayBundle")
61
#define kIPCUnloadDisplayBundleMessage CFSTR("UnloadDisplayBundle")
62
63
/* kIPCServiceNameKey identifies a startup item by one of the services it provides. */
64
#define kIPCServiceNameKey CFSTR("ServiceName")
65
66
/* kIPCProcessIDKey identifies a running startup item by its process id. */
67
#define kIPCProcessIDKey CFSTR("ProcessID")
68
69
/* kIPCConsoleMessageKey contains the non-localized string to
70
* display for messages of type kIPCTypeConsoleMessage.
71
*/
72
#define kIPCConsoleMessageKey CFSTR("ConsoleMessage")
73
74
/* kIPCStatus key contains a boolean value. True for success, false for failure. */
75
#define kIPCStatusKey CFSTR("StatusKey")
76
77
/* kIPCDisplayBundlePathKey contains a string path to the display bundle
78
SystemStarter should attempt to load. */
79
#define kIPCDisplayBundlePathKey CFSTR("DisplayBundlePath")
80
81
/* kIPCConfigNamegKey contains the name of a config setting to query */
82
#define kIPCConfigSettingKey CFSTR("ConfigSetting")
83
84
/* Some config settings */
85
#define kIPCConfigSettingVerboseFlag CFSTR("VerboseFlag")
86
#define kIPCConfigSettingNetworkUp CFSTR("NetworkUp")
87
88
#endif /* _SYSTEM_STARTER_IPC_H */
89
90