| .. | .. | 
|---|
| 28 | 28 | */ | 
|---|
| 29 | 29 |  | 
|---|
| 30 | 30 | /* Structure for the low-level drivers. */ | 
|---|
| 31 |  | -typedef struct ipmi_smi *ipmi_smi_t; | 
|---|
|  | 31 | +struct ipmi_smi; | 
|---|
|  | 32 | + | 
|---|
|  | 33 | +/* | 
|---|
|  | 34 | + * Flags for set_check_watch() below.  Tells if the SMI should be | 
|---|
|  | 35 | + * waiting for watchdog timeouts, commands and/or messages. | 
|---|
|  | 36 | + */ | 
|---|
|  | 37 | +#define IPMI_WATCH_MASK_CHECK_MESSAGES	(1 << 0) | 
|---|
|  | 38 | +#define IPMI_WATCH_MASK_CHECK_WATCHDOG	(1 << 1) | 
|---|
|  | 39 | +#define IPMI_WATCH_MASK_CHECK_COMMANDS	(1 << 2) | 
|---|
| 32 | 40 |  | 
|---|
| 33 | 41 | /* | 
|---|
| 34 | 42 | * Messages to/from the lower layer.  The smi interface will take one | 
|---|
| .. | .. | 
|---|
| 55 | 63 | int           rsp_size; | 
|---|
| 56 | 64 | unsigned char rsp[IPMI_MAX_MSG_LENGTH]; | 
|---|
| 57 | 65 |  | 
|---|
| 58 |  | -	/* Will be called when the system is done with the message | 
|---|
| 59 |  | -	   (presumably to free it). */ | 
|---|
|  | 66 | +	/* | 
|---|
|  | 67 | +	 * Will be called when the system is done with the message | 
|---|
|  | 68 | +	 * (presumably to free it). | 
|---|
|  | 69 | +	 */ | 
|---|
| 60 | 70 | void (*done)(struct ipmi_smi_msg *msg); | 
|---|
| 61 | 71 | }; | 
|---|
| 62 | 72 |  | 
|---|
| .. | .. | 
|---|
| 105 | 115 |  | 
|---|
| 106 | 116 | /* | 
|---|
| 107 | 117 | * Called by the upper layer when some user requires that the | 
|---|
| 108 |  | -	 * interface watch for events, received messages, watchdog | 
|---|
| 109 |  | -	 * pretimeouts, or not.  Used by the SMI to know if it should | 
|---|
| 110 |  | -	 * watch for these.  This may be NULL if the SMI does not | 
|---|
| 111 |  | -	 * implement it. | 
|---|
|  | 118 | +	 * interface watch for received messages and watchdog | 
|---|
|  | 119 | +	 * pretimeouts (basically do a "Get Flags", or not.  Used by | 
|---|
|  | 120 | +	 * the SMI to know if it should watch for these.  This may be | 
|---|
|  | 121 | +	 * NULL if the SMI does not implement it.  watch_mask is from | 
|---|
|  | 122 | +	 * IPMI_WATCH_MASK_xxx above.  The interface should run slower | 
|---|
|  | 123 | +	 * timeouts for just watchdog checking or faster timeouts when | 
|---|
|  | 124 | +	 * waiting for the message queue. | 
|---|
| 112 | 125 | */ | 
|---|
| 113 |  | -	void (*set_need_watch)(void *send_info, bool enable); | 
|---|
|  | 126 | +	void (*set_need_watch)(void *send_info, unsigned int watch_mask); | 
|---|
| 114 | 127 |  | 
|---|
| 115 | 128 | /* | 
|---|
| 116 | 129 | * Called when flushing all pending messages. | 
|---|