| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * arch/s390/appldata/appldata.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Definitions and interface for Linux - z/VM Monitor Stream. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-07-14 09:59:34 +02:00
										 |  |  |  * Copyright IBM Corp. 2003, 2008 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2006-06-29 15:08:35 +02:00
										 |  |  |  * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com> | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define APPLDATA_MAX_REC_SIZE	  4024	/* Maximum size of the */
 | 
					
						
							|  |  |  | 					/* data buffer */ | 
					
						
							|  |  |  | #define APPLDATA_MAX_PROCS 100
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define APPLDATA_PROC_NAME_LENGTH 16	/* Max. length of /proc name */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define APPLDATA_RECORD_MEM_ID		0x01	/* IDs to identify the */
 | 
					
						
							|  |  |  | #define APPLDATA_RECORD_OS_ID		0x02	/* individual records, */
 | 
					
						
							|  |  |  | #define APPLDATA_RECORD_NET_SUM_ID	0x03	/* must be < 256 !     */
 | 
					
						
							|  |  |  | #define APPLDATA_RECORD_PROC_ID		0x04
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-14 00:33:45 -08:00
										 |  |  | #define CTL_APPLDATA_TIMER 	2121	/* sysctl IDs, must be unique */
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define CTL_APPLDATA_INTERVAL 	2122
 | 
					
						
							|  |  |  | #define CTL_APPLDATA_MEM	2123
 | 
					
						
							|  |  |  | #define CTL_APPLDATA_OS		2124
 | 
					
						
							|  |  |  | #define CTL_APPLDATA_NET_SUM	2125
 | 
					
						
							|  |  |  | #define CTL_APPLDATA_PROC	2126
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct appldata_ops { | 
					
						
							|  |  |  | 	struct list_head list; | 
					
						
							|  |  |  | 	struct ctl_table_header *sysctl_header; | 
					
						
							|  |  |  | 	struct ctl_table *ctl_table; | 
					
						
							|  |  |  | 	int    active;				/* monitoring status */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* fill in from here */ | 
					
						
							|  |  |  | 	char name[APPLDATA_PROC_NAME_LENGTH];	/* name of /proc fs node */ | 
					
						
							|  |  |  | 	unsigned char record_nr;		/* Record Nr. for Product ID */ | 
					
						
							|  |  |  | 	void (*callback)(void *data);		/* callback function */ | 
					
						
							|  |  |  | 	void *data;				/* record data */ | 
					
						
							|  |  |  | 	unsigned int size;			/* size of record */ | 
					
						
							|  |  |  | 	struct module *owner;			/* THIS_MODULE */ | 
					
						
							| 
									
										
										
										
											2006-06-29 15:08:35 +02:00
										 |  |  | 	char mod_lvl[2];			/* modification level, EBCDIC */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern int appldata_register_ops(struct appldata_ops *ops); | 
					
						
							|  |  |  | extern void appldata_unregister_ops(struct appldata_ops *ops); | 
					
						
							| 
									
										
										
										
											2006-06-29 15:08:35 +02:00
										 |  |  | extern int appldata_diag(char record_nr, u16 function, unsigned long buffer, | 
					
						
							|  |  |  | 			 u16 length, char *mod_lvl); | 
					
						
							|  |  |  | 
 |