Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/s390/appldata/appldata.h
26425 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Definitions and interface for Linux - z/VM Monitor Stream.
4
*
5
* Copyright IBM Corp. 2003, 2008
6
*
7
* Author: Gerald Schaefer <[email protected]>
8
*/
9
10
#define APPLDATA_MAX_REC_SIZE 4024 /* Maximum size of the */
11
/* data buffer */
12
#define APPLDATA_MAX_PROCS 100
13
14
#define APPLDATA_PROC_NAME_LENGTH 16 /* Max. length of /proc name */
15
16
#define APPLDATA_RECORD_MEM_ID 0x01 /* IDs to identify the */
17
#define APPLDATA_RECORD_OS_ID 0x02 /* individual records, */
18
#define APPLDATA_RECORD_NET_SUM_ID 0x03 /* must be < 256 ! */
19
#define APPLDATA_RECORD_PROC_ID 0x04
20
21
#define CTL_APPLDATA_TIMER 2121 /* sysctl IDs, must be unique */
22
#define CTL_APPLDATA_INTERVAL 2122
23
#define CTL_APPLDATA_MEM 2123
24
#define CTL_APPLDATA_OS 2124
25
#define CTL_APPLDATA_NET_SUM 2125
26
#define CTL_APPLDATA_PROC 2126
27
28
struct appldata_ops {
29
struct list_head list;
30
struct ctl_table_header *sysctl_header;
31
struct ctl_table *ctl_table;
32
int active; /* monitoring status */
33
34
/* fill in from here */
35
char name[APPLDATA_PROC_NAME_LENGTH]; /* name of /proc fs node */
36
unsigned char record_nr; /* Record Nr. for Product ID */
37
void (*callback)(void *data); /* callback function */
38
void *data; /* record data */
39
unsigned int size; /* size of record */
40
struct module *owner; /* THIS_MODULE */
41
char mod_lvl[2]; /* modification level, EBCDIC */
42
};
43
44
extern int appldata_register_ops(struct appldata_ops *ops);
45
extern void appldata_unregister_ops(struct appldata_ops *ops);
46
extern int appldata_diag(char record_nr, u16 function, unsigned long buffer,
47
u16 length, char *mod_lvl);
48
49
50