Mercurial > ecos-v2_0-branch
annotate packages/net/tcpip/current/include/sys/cdefs.h @ 97:ced4577552cd ecos-sw-2000-06-06
Merge from eCos master repository on 2000-06-06-08:44:00-BST
| author | jlarmour |
|---|---|
| date | Tue, 06 Jun 2000 08:39:36 +0000 |
| parents | |
| children | e0c0827131d1 |
| rev | line source |
|---|---|
|
97
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
1 //========================================================================== |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
2 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
3 // include/sys/cdefs.h |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
4 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
5 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
6 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
7 //========================================================================== |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
8 //####COPYRIGHTBEGIN#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
9 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
10 // ------------------------------------------- |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
11 // The contents of this file are subject to the Red Hat eCos Public License |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
12 // Version 1.1 (the "License"); you may not use this file except in |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
13 // compliance with the License. You may obtain a copy of the License at |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
14 // http://www.redhat.com/ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
15 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
16 // Software distributed under the License is distributed on an "AS IS" |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
18 // License for the specific language governing rights and limitations under |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
19 // the License. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
20 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
21 // The Original Code is eCos - Embedded Configurable Operating System, |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
22 // released September 30, 1998. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
23 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
24 // The Initial Developer of the Original Code is Red Hat. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
25 // Portions created by Red Hat are |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
26 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
27 // All Rights Reserved. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
28 // ------------------------------------------- |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
29 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
30 //####COPYRIGHTEND#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
31 //####BSDCOPYRIGHTBEGIN#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
32 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
33 // ------------------------------------------- |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
34 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
35 // Portions of this software may have been derived from OpenBSD or other sources, |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
36 // and are covered by the appropriate copyright disclaimers included herein. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
37 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
38 // ------------------------------------------- |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
39 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
40 //####BSDCOPYRIGHTEND#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
41 //========================================================================== |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
42 //#####DESCRIPTIONBEGIN#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
43 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
44 // Author(s): gthomas |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
45 // Contributors: gthomas |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
46 // Date: 2000-01-10 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
47 // Purpose: |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
48 // Description: |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
49 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
50 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
51 //####DESCRIPTIONEND#### |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
52 // |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
53 //========================================================================== |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
54 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
55 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
56 /* $OpenBSD: cdefs.h,v 1.5 1996/09/27 17:34:44 maja Exp $ */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
57 /* $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
58 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
59 /* |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
60 * Copyright (c) 1991, 1993 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
61 * The Regents of the University of California. All rights reserved. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
62 * |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
63 * This code is derived from software contributed to Berkeley by |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
64 * Berkeley Software Design, Inc. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
65 * |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
66 * Redistribution and use in source and binary forms, with or without |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
67 * modification, are permitted provided that the following conditions |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
68 * are met: |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
69 * 1. Redistributions of source code must retain the above copyright |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
70 * notice, this list of conditions and the following disclaimer. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
71 * 2. Redistributions in binary form must reproduce the above copyright |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
72 * notice, this list of conditions and the following disclaimer in the |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
73 * documentation and/or other materials provided with the distribution. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
74 * 3. All advertising materials mentioning features or use of this software |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
75 * must display the following acknowledgement: |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
76 * This product includes software developed by the University of |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
77 * California, Berkeley and its contributors. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
78 * 4. Neither the name of the University nor the names of its contributors |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
79 * may be used to endorse or promote products derived from this software |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
80 * without specific prior written permission. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
81 * |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
82 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
83 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
84 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
85 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
86 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
87 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
88 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
89 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
90 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
91 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
92 * SUCH DAMAGE. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
93 * |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
94 * @(#)cdefs.h 8.7 (Berkeley) 1/21/94 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
95 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
96 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
97 #ifndef _SYS_CDEFS_H_ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
98 #define _SYS_CDEFS_H_ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
99 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
100 /* |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
101 * Gratuitous NetBSD gcc extensions we can do without. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
102 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
103 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
104 #ifdef __KPRINTF_ATTRIBUTE__ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
105 #undef __KPRINTF_ATTRIBUTE__ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
106 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
107 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
108 #include <machine/cdefs.h> |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
109 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
110 #if defined(__cplusplus) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
111 #define __BEGIN_DECLS extern "C" { |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
112 #define __END_DECLS }; |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
113 #else |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
114 #define __BEGIN_DECLS |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
115 #define __END_DECLS |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
116 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
117 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
118 /* |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
119 * The __CONCAT macro is used to concatenate parts of symbol names, e.g. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
120 * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
121 * The __CONCAT macro is a bit tricky -- make sure you don't put spaces |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
122 * in between its arguments. __CONCAT can also concatenate double-quoted |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
123 * strings produced by the __STRING macro, but this only works with ANSI C. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
124 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
125 #if defined(__STDC__) || defined(__cplusplus) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
126 #define __P(protos) protos /* full-blown ANSI C */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
127 #define __CONCAT(x,y) x ## y |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
128 #define __STRING(x) #x |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
129 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
130 #define __const const /* define reserved names to standard */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
131 #define __signed signed |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
132 #define __volatile volatile |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
133 #if defined(__cplusplus) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
134 #define __inline inline /* convert to C++ keyword */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
135 #else |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
136 #if !defined(__GNUC__) && !defined(lint) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
137 #define __inline /* delete GCC keyword */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
138 #endif /* !__GNUC__ && !lint */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
139 #endif /* !__cplusplus */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
140 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
141 #else /* !(__STDC__ || __cplusplus) */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
142 #define __P(protos) () /* traditional C preprocessor */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
143 #define __CONCAT(x,y) x/**/y |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
144 #define __STRING(x) "x" |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
145 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
146 #if !defined(__GNUC__) && !defined(lint) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
147 #define __const /* delete pseudo-ANSI C keywords */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
148 #define __inline |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
149 #define __signed |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
150 #define __volatile |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
151 #endif /* !__GNUC__ && !lint */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
152 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
153 /* |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
154 * In non-ANSI C environments, new programs will want ANSI-only C keywords |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
155 * deleted from the program and old programs will want them left alone. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
156 * Programs using the ANSI C keywords const, inline etc. as normal |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
157 * identifiers should define -DNO_ANSI_KEYWORDS. |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
158 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
159 #ifndef NO_ANSI_KEYWORDS |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
160 #define const __const /* convert ANSI C keywords */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
161 #define inline __inline |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
162 #define signed __signed |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
163 #define volatile __volatile |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
164 #endif /* !NO_ANSI_KEYWORDS */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
165 #endif /* !(__STDC__ || __cplusplus) */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
166 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
167 /* |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
168 * GCC1 and some versions of GCC2 declare dead (non-returning) and |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
169 * pure (no side effects) functions using "volatile" and "const"; |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
170 * unfortunately, these then cause warnings under "-ansi -pedantic". |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
171 * GCC2 uses a new, peculiar __attribute__((attrs)) style. All of |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
172 * these work for GNU C++ (modulo a slight glitch in the C++ grammar |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
173 * in the distribution version of 2.5.5). |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
174 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
175 #if !defined(__GNUC__) || __GNUC__ < 2 || \ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
176 (__GNUC__ == 2 && __GNUC_MINOR__ < 5) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
177 #define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
178 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
179 #define __dead __volatile |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
180 #define __pure __const |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
181 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
182 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
183 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
184 #ifdef __KPRINTF_ATTRIBUTE__ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
185 #define __kprintf_attribute__(a) __attribute__(a) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
186 #else |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
187 #define __kprintf_attribute__(a) |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
188 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
189 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
190 /* Delete pseudo-keywords wherever they are not available or needed. */ |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
191 #ifndef __dead |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
192 #define __dead |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
193 #define __pure |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
194 #endif |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
195 |
|
ced4577552cd
Merge from eCos master repository on 2000-06-06-08:44:00-BST
jlarmour
parents:
diff
changeset
|
196 #endif /* !_SYS_CDEFS_H_ */ |
