]>
git.saurik.com Git - apple/bootx.git/blob - bootx.tproj/include.subproj/ci.h
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
23 * ci.h - Headers for the OF Client Interface Library
25 * Copyright (c) 1998-2000 Apple Computer, Inc.
33 #define kCINoError (0)
45 struct { // nArgs=1, nReturns=1
50 struct { // nArgs=2, nReturns=1
56 struct { // nArgs=2, nReturns=2
63 struct { // nArgs=3, nReturns=2
71 struct { // nArgs=4, nReturns=2
80 struct { // nArgs=4, nReturns=3
90 struct { // nArgs=5, nReturns=1
99 struct { // nArgs=1, nReturns=2
105 struct { // nArgs=1, nReturns=3
112 struct { // nArgs=1, nReturns=4
120 struct { // nArgs=2, nReturns=4
129 struct { // nArgs=3, nReturns=4
139 struct { // nArgs=3, nReturns=5
150 struct { // nArgs=3, nReturns=1
157 struct { // nArgs=3, nReturns=3
166 struct { // nArgs=4, nReturns=1
174 struct { // nArgs=2, nReturns=1
180 struct { // nArgs=2, nReturns=2
187 struct { // nArgs=3, nReturns=1
194 struct { // nArgs=3, nReturns=2
202 struct { // nArgs=4, nReturns=1
210 struct { // nArgs=5, nReturns=1
219 struct { // nArgs=5, nReturns=2
229 struct { // nArgs=6, nReturns=1
239 struct { // nArgs=7, nReturns=1
250 struct { // nArgs=8, nReturns=1
262 struct { // nArgs=1, nReturns=1 ( device-specifier -- ihandle )
263 char *devSpec
; // IN parameter
264 CICell ihandle
; // RETURN value
267 struct { // nArgs=1, nReturns=0 ( ihandle -- )
268 CICell ihandle
; // IN parameter
271 struct { // nArgs=3, nReturns=1 ( ihandle addr length -- actual )
278 struct { // nArgs=3, nReturns=1 ( ihandle addr length -- actual )
285 struct { // nArgs=3, nReturns=1 ( ihandle pos.high pos.low -- result )
292 struct { // nArgs=3, nReturns=1
299 struct { // nArgs=2, nReturns=0
304 struct { // nArgs=1, nReturns=1 ( phandle -- peer-phandle )
305 CICell phandle
; // IN parameter
306 CICell peerPhandle
; // RETURN value
309 struct { // nArgs=1, nReturns=1 ( phandle -- child-phandle )
310 CICell phandle
; // IN parameter
311 CICell childPhandle
; // RETURN value
314 struct { // nArgs=1, nReturns=1 ( phandle -- parent-phandle )
315 CICell childPhandle
; // IN parameter
316 CICell parentPhandle
; // RETURN value
319 struct { // nArgs=1, nReturns=1 ( devSpec -- phandle )
320 char *devSpec
; // IN parameter
321 CICell phandle
; // RETURN value
324 struct { // nArgs=3, nReturns=1 ( ihandle buf buflen -- length )
325 CICell ihandle
; // IN ihandle
327 CICell buflen
; // IN buflen
328 CICell length
; // RETURN length
331 struct { // nArgs=1, nReturns=1 ( ihandle -- phandle )
332 CICell ihandle
; // IN ihandle
333 CICell phandle
; // RETURN phandle
336 struct { // nArgs=3, nReturns=1 ( phandle buf buflen -- length )
337 CICell phandle
; // IN phandle
339 CICell buflen
; // IN buflen
340 CICell length
; // RETURN length
343 struct { // nArgs=2, nReturns=1 ( phandle name -- size )
344 CICell phandle
; // IN parameter
345 char *name
; // IN parameter
346 CICell size
; // RETURN value
349 struct { // nArgs=4, nReturns=1 ( phandle name buf buflen -- size )
350 CICell phandle
; // IN parameter
351 char *name
; // IN parameter
352 char *buf
; // IN parameter
353 CICell buflen
; // IN parameter
354 CICell size
; // RETURN value
357 struct { // nArgs=3, nReturns=1 ( phandle previous buf -- flag )
358 CICell phandle
; // IN parameter
359 char *previous
; // IN parameter
360 char *buf
; // IN parameter
361 CICell flag
; // RETURN value
364 struct { // nArgs=4, nReturns=1 ( phandle name buf buflen -- size )
365 CICell phandle
; // IN parameter
366 char *name
; // IN parameter
367 char *buf
; // IN parameter
368 CICell buflen
; // IN parameter
369 CICell size
; // RETURN value
372 struct { // nArgs=1, nReturns=0
377 typedef struct CIArgs CIArgs
;
379 typedef long (*ClientInterfacePtr
)(CIArgs
*args
);
382 long InitCI(ClientInterfacePtr ciPtr
);
384 long CallCI(CIArgs
*ciArgsPtr
);
387 CICell
Peer(CICell phandle
);
388 CICell
Child(CICell phandle
);
389 CICell
Parent(CICell phandle
);
390 CICell
FindDevice(char *devSpec
);
391 CICell
InstanceToPath(CICell ihandle
, char *buf
, long buflen
);
392 CICell
InstanceToPackage(CICell ihandle
);
393 CICell
PackageToPath(CICell phandle
, char *buf
, long buflen
);
394 CICell
GetPropLen(CICell phandle
, char *name
);
395 CICell
GetProp(CICell phandle
, char *name
, char *buf
, long buflen
);
396 CICell
NextProp(CICell phandle
, char *previous
, char *buf
);
397 CICell
SetProp(CICell phandle
, char *name
, char *buf
, long buflen
);
400 CICell
Open(char *devSpec
);
401 void Close(CICell ihandle
);
402 CICell
Read(CICell ihandle
, long addr
, long length
);
403 CICell
Write(CICell ihandle
, long addr
, long length
);
404 CICell
Seek(CICell ihandle
, long long position
);
407 long CallMethod_0_0(CICell ihandle
, char *method
);
408 long CallMethod_0_1(CICell ihandle
, char *method
, CICell
*ret1
);
409 long CallMethod_1_0(CICell ihandle
, char *method
, CICell arg1
);
410 long CallMethod_1_1(CICell iHandle
, char *method
, CICell arg1
, CICell
*ret1
);
411 long CallMethod_2_0(CICell ihandle
, char *method
,
412 CICell arg1
, CICell arg2
);
413 long CallMethod_3_0(CICell ihandle
, char *method
,
414 CICell arg1
, CICell arg2
, CICell arg3
);
415 long CallMethod_3_1(CICell ihandle
, char *method
,
416 CICell arg1
, CICell arg2
, CICell arg3
, CICell
*ret1
);
417 long CallMethod_4_0(CICell ihandle
, char *method
,
418 CICell arg1
, CICell arg2
, CICell arg3
, CICell arg4
);
419 long CallMethod_5_0(CICell ihandle
, char *method
, CICell arg1
, CICell arg2
,
420 CICell arg3
, CICell arg4
, CICell arg5
);
421 long CallMethod_6_0(CICell ihandle
, char *method
, CICell arg1
, CICell arg2
,
422 CICell arg3
, CICell arg4
, CICell arg5
, CICell arg6
);
425 CICell
Claim(CICell virt
, CICell size
, CICell align
);
426 void Release(CICell virt
, CICell size
);
429 void Boot(char *bootspec
);
435 long Interpret_0_0(char *forthString
);
436 long Interpret_1_0(char *forthString
, CICell arg1
);
437 long Interpret_1_1(char *forthString
, CICell arg1
, CICell
*ret1
);
438 long Interpret_2_1(char *forthString
, CICell arg1
, CICell arg2
, CICell
*ret1
);
439 long Interpret_3_1(char *forthString
, CICell arg1
, CICell arg2
, CICell arg3
,
441 long Interpret_3_2(char *forthString
, CICell arg1
, CICell arg2
, CICell arg3
,
442 CICell
*ret1
, CICell
*ret2
);
443 long Interpret_4_0(char *forthString
, CICell arg1
, CICell arg2
, CICell arg3
,
445 long Interpret_0_1(char *forthString
, CICell
*ret1
);
446 long Interpret_0_2(char *forthString
, CICell
*ret1
, CICell
*ret2
);
447 long Interpret_0_3(char *forthString
, CICell
*ret1
,
448 CICell
*ret2
, CICell
*ret3
);
449 long Interpret_1_3(char *forthString
, CICell arg1
, CICell
*ret1
, CICell
*ret2
,
451 long Interpret_2_3(char *forthString
, CICell arg1
, CICell arg2
, CICell
*ret1
,
452 CICell
*ret2
, CICell
*ret3
);
453 long Interpret_2_4(char *forthString
, CICell arg1
, CICell arg2
, CICell
*ret1
,
454 CICell
*ret2
, CICell
*ret3
, CICell
*ret4
);
455 long Interpret_2_0(char *forthString
, CICell arg1
, CICell arg2
);
456 long Interpret_2_2(char *forthString
, CICell arg1
, CICell arg2
, CICell
*ret1
,
458 long Interpret_3_0(char *forthString
, CICell arg1
, CICell arg2
, CICell arg3
);
460 #endif /* ! _BOOTX_CI_H_ */