amops.h
5.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
/*
* amops.h
*
* Copyright 1994, Silicon Graphics, Inc.
* All Rights Reserved.
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
* the contents of this file may not be disclosed to third parties, copied or
* duplicated in any form, in whole or in part, without the prior written
* permission of Silicon Graphics, Inc.
*
* RESTRICTED RIGHTS LEGEND:
* Use, duplication or disclosure by the Government is subject to restrictions
* as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
* and Computer Software clause at DFARS 252.227-7013, and/or in similar or
* successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
* rights reserved under the Copyright Laws of the United States.
*/
#ifndef __TV_appmgr_operations_h_
#define __TV_appmgr_operations_h_
#include <amkern.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __TV_DEBUG
#define DPRINTF(ARG) printf ARG
#else
#define DPRINTF(ARG)
#endif
typedef TVuchar Bool;
/* Messages to and within the application manager (0x0080 to 0x00af) */
#define TV_MSG_ABORT 0x0080
#define TV_MSG_PIN_STATE 0x0081
#define TV_MSG_NUMERIC_INPUT 0x0082
#define TV_MSG_RUN_APPLICATION 0x0083
#define TV_MSG_HELPER 0x0084
#define TV_MSG_ID_REGISTRY 0x0085
#define TV_MSG_GEN_SESSION_TOKEN 0x0086
#define TV_MSG_TIME_ZONE 0x0087
#define TV_MSG_RETURN_COMMAND 0x0088
#define TV_MSG_SWAP_BUFFERS 0x0089
#define TV_MSG_OVERLAY 0x008a
#define TV_MSG_USER_INPUT 0x008b
#define TV_MSG_GET_USER_DATA 0x008c
#define TV_MSG_CABLE_BOX 0x008d
#define TV_MSG_MAIN_RENDERER 0x008e
#define TV_MSG_TUNE_ANALOG 0x008f
#define TV_MSG_REMOVE_RENDERER 0x0090
#define TV_MSG_TUNE_ATM 0x0091
#define TV_MSG_PROGRAM_NAME 0x0092
#define TV_MSG_SESSION_START 0x0093
#define TV_MSG_GIVE_USER_DATA 0x0094
#define TV_MSG_INFO_COMPLETE 0x0095
#define TV_MSG_NEW_APP 0x0096
#define TV_MSG_WRITE_LED 0x0097
#define TV_MSG_GRAB_REMOTE 0x0098
#define TV_MSG_DO_RETURN 0x0099
#define TV_MSG_BOOKMARK 0x009a
#define TV_MSG_CHANNEL_BLOCK 0x009b
#define TV_MSG_SET_FUSE 0x009c
#define TV_MSG_GET_ARGS 0x009d
#define TV_MSG_USER_NMTRAP 0x009e
#define TV_MSG_MPEG_MIXER 0x009f
#define TV_MSG_CC_BYPASS 0x00a0
#define TV_MSG_MACRO_VISION 0x00a1
#define TV_MSG_POWER 0x00a2
#define TV_MSG_BLINK_MSG_LED 0x00a3
#define TV_MSG_DECRYPT_BUFFER 0x00a4
#define TV_MSG_RETUNE 0x00a5
#define TV_MSG_ANALOG_OPTIONS 0x00a6
#define TV_MSG_SET_NAME 0x00a8
#define TV_MSG_SYNCHRONIZE 0x00a9
/* last message 0x00af */
/*
* generic functions for "simple" messages
*/
#define TV_AM_QUERY 0
#define TV_AM_ON 1
#define TV_AM_DEFINE TV_AM_ON
#define TV_AM_OFF 2
#define TV_AM_DELETE TV_AM_OFF
#define TV_AM_REQUEST 3
#define TV_AM_REBOOT 4
/*
* functions for helper messages
*/
#define TV_HELPER_PROMOTE 1
#define TV_HELPER_DESTROY 2
#define TV_HELPER_GET_ID 3
/*
* flags passed in TVAppMgrClientMsgStr.run record
*/
#define TV_RUN_FLAG_STOPPED 0x01
#define TV_RUN_FLAG_NAVIGATOR 0x02
/*
* all messages from client to app mgr have clients ID in 2nd word
*/
typedef struct {
TVuchar why;
TVuchar helper;
TVuchar count;
TVuchar flags;
unsigned short transition;
short channel;
TVuchar lengths[16]; /* includes the trailing null */
char *strings;
} TVAMCommand;
typedef union {
struct {
TVushort type;
TVuchar client;
unsigned char func;
TVid id;
char name[TV_NAME_SIZE];
} simple;
struct {
TVushort type;
TVuchar client;
TVuchar func;
TVTime time;
} power;
struct {
TVushort type;
TVuchar client;
TVuchar func;
TVAnalogOptions options;
} analog;
struct {
TVushort type;
TVuchar client;
TVuchar status;
short why;
short chan;
} tuning;
struct {
TVushort type;
TVuchar client;
TVuchar func;
int transition;
int helper;
} helper;
struct {
TVushort type;
TVuchar client;
unsigned char func;
int x;
int y;
} panel;
struct {
TVushort type;
TVuchar client;
unsigned char pad;
TVid id;
TVTime time;
} fuse;
struct {
TVushort type;
TVuchar client;
TVuchar func;
char * value;
char attribute[TV_NAME_SIZE];
} userdata;
struct {
TVushort type;
TVuchar client;
TVAMCommand cmd;
} run;
struct {
TVushort type;
TVuchar client;
TVuchar why;
TVuchar flags;
/* cmdLine == transition == count == 0 */
char appName[TV_NAME_SIZE];
} debugRun;
struct {
TVushort type;
TVuchar client;
unsigned char level;
TVid notify;
int cost;
} overlay;
struct {
TVushort type;
TVuchar client;
short secondsWest;
short isDST;
} timezone;
struct {
TVushort type;
TVuchar client;
float portion;
} mpegMix;
struct {
TVushort type;
TVuchar client;
unsigned char ret;
int length;
union {
int contentLength;
int serial;
}u;
void* buffer;
} buffer;
struct {
TVushort type;
TVushort pad;
TVuchar sessionToken[18];
} tokenReply;
struct {
TVushort type;
TVuchar client;
TVuchar pad;
TVPrincipalId acceptorID;
TVulong initDate;
TVuchar sessionKey[8];
} tokenRequest;
struct {
TVushort type;
TVuchar client;
unsigned char tuner;
unsigned int frequency;
} tune;
struct {
/*
* createBM must be same basic shape as createBookmark
* structure in rkfsn.h
*/
TVushort type;
TVuchar client;
unsigned char func;
TVlong id;
TVuchar service[TV_NAME_SIZE];
} createBM;
struct {
TVushort type;
TVuchar client;
unsigned char redrawInterval;
TVid notify;
} main;
TVMessage base;
TVAppMgrMsg amm;
} TVAppMgrClientMsg;
#define TV_AM_LOG_STANDARD_TIME 0
#define TV_AM_LOG_DAYLIGHT_SAVINGS 1
#define TV_AM_LOG_SET_MASK 2
#define TV_AM_LOG_CLEAR_MASK 3
#define TV_AM_LOG_SET_RATE 4
#define TV_AM_LOG_CONTROL 5
#define TV_AM_LOG_SIGNATURE 0xabadfade
#define TV_AM_LOG_PORT 22847
typedef struct {
short serial;
short bytes;
} TVAppMgrLogHeader;
#ifdef __cplusplus
}
#endif
#endif /* __TV_appmgr_operations_h_ */