Main Page | Class List | Directories | File List | Class Members | File Members

af_ipmi.h

Go to the documentation of this file.
00001 /* 
00002  * IPMI Socket Glue
00003  *
00004  * Author:      Louis Zhuang <louis.zhuang@linux.intel.com>
00005  * Copyright by Intel Corp., 2003
00006  */
00007 #ifndef _NET_IPMI_H
00008 #define _NET_IPMI_H
00009 
00010 #include <linux/ipmi.h>
00011 
00012 #ifndef AF_IPMI
00013 #define AF_IPMI         32
00014 #endif
00015 #ifndef PF_IPMI
00016 #define PF_IPMI         AF_IPMI
00017 #endif
00018 
00019 /*
00020  * This is ipmi address for socket
00021  */
00022 struct sockaddr_ipmi {
00023         sa_family_t      sipmi_family; /* AF_IPMI */
00024         int              if_num; /* IPMI interface number */
00025         struct ipmi_addr ipmi_addr;
00026 };
00027 #define SOCKADDR_IPMI_OVERHEAD (sizeof(struct sockaddr_ipmi) \
00028                                 - sizeof(struct ipmi_addr))
00029 
00030 /* A msg_control item, this takes a 'struct ipmi_timing_parms' */
00031 #define IPMI_CMSG_TIMING_PARMS  0x01
00032 
00033 /* 
00034  * This is ipmi message for socket
00035  */
00036 struct ipmi_sock_msg {
00037         int                   recv_type;
00038         long                  msgid;
00039 
00040         unsigned char         netfn;
00041         unsigned char         cmd;
00042         int                   data_len;
00043         unsigned char         data[0];
00044 };
00045 
00046 #define IPMI_MAX_SOCK_MSG_LENGTH (sizeof(struct ipmi_sock_msg)+IPMI_MAX_MSG_LENGTH)
00047 
00048 /* Register/unregister to receive specific commands.  Uses struct
00049    ipmi_cmdspec from linux/ipmi.h */
00050 #define SIOCIPMIREGCMD          (SIOCPROTOPRIVATE + 0)
00051 #define SIOCIPMIUNREGCMD        (SIOCPROTOPRIVATE + 1)
00052 
00053 /* Register to receive events.  Takes an integer */
00054 #define SIOCIPMIGETEVENT        (SIOCPROTOPRIVATE + 2)
00055 
00056 /* Set the default timing parameters for the socket.  Takes a struct
00057    ipmi_timing_parms from linux/ipmi.h */
00058 #define SIOCIPMISETTIMING       (SIOCPROTOPRIVATE + 3)
00059 #define SIOCIPMIGETTIMING       (SIOCPROTOPRIVATE + 4)
00060 
00061 /* Set/Get the IPMB address of the MC we are connected to, takes an
00062    unsigned int. */
00063 #define SIOCIPMISETADDR         (SIOCPROTOPRIVATE + 5)
00064 #define SIOCIPMIGETADDR         (SIOCPROTOPRIVATE + 6)
00065 
00066 #endif/*_NET_IPMI_H*/

© sourcejam.com 2005-2008