ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-ia64 / sn / geo.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved.
7  */
8
9 #ifndef _ASM_IA64_SN_GEO_H
10 #define _ASM_IA64_SN_GEO_H
11
12 /* Include a platform-specific geo.h.  It must define at least:
13  *   geoid_t:           Geographic identifier data type
14  *   geo_type_t:        Data type for the kind of geoid this is
15  *   GEO_TYPE_xxx:      Values for geo_type_t vars, eg. GEO_TYPE_NODE
16  *   GEO_MAX_LEN:       The maximum length of a geoid, formatted for printing
17  */
18
19 #include <asm/sn/sn2/geo.h>
20
21 /* Declarations applicable to all platforms */
22
23 /* parameter for hwcfg_format_geoid() */
24 #define GEO_FORMAT_HWGRAPH      1
25 #define GEO_FORMAT_BRIEF        2
26
27 /* (the parameter for hwcfg_format_geoid_compt() is defined in the
28  * platform-specific geo.h file) */
29
30 /* Routines for manipulating geoid_t values */
31
32 extern moduleid_t geo_module(geoid_t g);
33 extern slabid_t geo_slab(geoid_t g);
34 extern geo_type_t geo_type(geoid_t g);
35 extern int geo_valid(geoid_t g);
36 extern int geo_cmp(geoid_t g0, geoid_t g1);
37 extern geoid_t geo_new(geo_type_t type, ...);
38
39 extern geoid_t hwcfg_parse_geoid(char *buffer);
40 extern void hwcfg_format_geoid(char *buffer, geoid_t m, int fmt);
41 extern void hwcfg_format_geoid_compt(char *buffer, geoid_t m, int compt);
42 extern geoid_t hwcfg_geo_get_self(geo_type_t type);
43 extern geoid_t hwcfg_geo_get_by_nasid(geo_type_t type, nasid_t nasid);
44
45 #endif /* _ASM_IA64_SN_GEO_H */