1 /*
2  * Copyright (c) 2007 Kontron Canada, Inc.  All Rights Reserved.
3  *
4  * Base on code from
5  * Copyright (c) 2003 Sun Microsystems, Inc.  All Rights Reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * Redistribution of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * Redistribution in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in the
16  * documentation and/or other materials provided with the distribution.
17  *
18  * Neither the name of Sun Microsystems, Inc. or the names of
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * This software is provided "AS IS," without a warranty of any kind.
23  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
24  * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
25  * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
26  * SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE
27  * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
28  * OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.  IN NO EVENT WILL
29  * SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA,
30  * OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
31  * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
32  * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
33  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
34  */
35 
36 #ifndef IPMI_EKANALYZER_H
37 #define IPMI_EKANALYZER_H
38 
39 #include <inttypes.h>
40 #include <ipmitool/ipmi.h>
41 #include <ipmitool/ipmi_fru.h>
42 
43 #define RTM_FRU_FILE             0x00
44 #define A1_AMC_FRU_FILE          0x01
45 #define A2_AMC_FRU_FILE          0x02
46 #define A3_AMC_FRU_FILE          0x03
47 #define A4_AMC_FRU_FILE          0x04
48 #define B1_AMC_FRU_FILE          0x05
49 #define B2_AMC_FRU_FILE          0x06
50 #define B3_AMC_FRU_FILE          0x07
51 #define B4_AMC_FRU_FILE          0x08
52 #define ON_CARRIER_FRU_FILE      0x09
53 #define CONFIG_FILE              0x0A
54 #define SHELF_MANAGER_FRU_FILE   0x0B
55 
56 #define MIN_ARGUMENT             0x02
57 #define RTM_IPMB_L               0x90
58 
59 #define MAX_FILE_NUMBER          8
60 /* this voltag is specified in AMC.0 specification Table 3-10 */
61 #define AMC_VOLTAGE                  12 /*volts*/
62 
63 #define SIZE_OF_GUID             16
64 #define FRU_RADIAL_IPMB0_LINK_MAPPING 0x15
65 
66 int ipmi_ekanalyzer_main(struct ipmi_intf *, int, char **);
67 
68 #endif /* IPMI_EKANALYZER_H */
69