source: trunk/ccl/lisp-kernel/lisptypes.h @ 557

Last change on this file since 557 was 557, checked in by gb, 16 years ago

PPC64 changes (some of them rather suspect ...). 32-bit kernel may be a
little funky ...

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1/*
2   Copyright (C) 1994-2001 Digitool, Inc
3   This file is part of OpenMCL. 
4
5   OpenMCL is licensed under the terms of the Lisp Lesser GNU Public
6   License , known as the LLGPL and distributed with OpenMCL as the
7   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
8   which is distributed with OpenMCL as the file "LGPL".  Where these
9   conflict, the preamble takes precedence. 
10
11   OpenMCL is referenced in the preamble as the "LIBRARY."
12
13   The LLGPL is also available online at
14   http://opensource.franz.com/preamble.html
15*/
16
17#ifndef __lisptypes__
18#define __lisptypes__
19
20#include <sys/types.h>
21#ifdef PPC64
22typedef u_int64_t LispObj;
23typedef u_int64_t natural;
24typedef int64_t signed_natural;
25#ifdef FOREIGN_POINTER_32BIT
26typedef u_int32_t unsigned_of_pointer_size;
27#else
28typedef u_int64_t unsigned_of_pointer_size;
29#endif
30#else
31typedef u_int32_t LispObj;
32typedef u_int32_t natural;
33typedef int32_t signed_natural;
34typedef u_int32_t unsigned_of_pointer_size;
35#endif
36
37typedef struct ucontext ExceptionInformation, ExceptionInformationPowerPC;
38
39typedef int OSStatus, OSErr;
40#define noErr ((OSErr) 0)
41typedef int Boolean;
42typedef void *LogicalAddress;
43typedef char *Ptr, *BytePtr, *StringPtr;
44typedef unsigned int UInt32;
45
46typedef union {
47  unsigned short halfword;
48  struct {
49#ifdef PPC64
50    unsigned short offset:13;
51    unsigned short pad:1;
52#else
53    unsigned short offset:14;
54#endif
55    unsigned short hasnode:1;
56    unsigned short modified:1;
57  } bits;
58} pageentry;
59
60
61#define true 1
62#define false 0
63
64#ifdef DARWIN
65typedef void (*__sighandler_t)(int);
66#endif
67#endif /*__lisptypes__ */
Note: See TracBrowser for help on using the repository browser.