1 /* procobjecttree.h 2 * 3 * Copyright (C) 2010 - 2013 UNISYS CORPORATION 4 * All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or (at 9 * your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 14 * NON INFRINGEMENT. See the GNU General Public License for more 15 * details. 16 */ 17 18 /** @file ********************************************************************* 19 * 20 * This describes the interfaces necessary for creating a tree of types, 21 * objects, and properties in /proc. 22 * 23 ****************************************************************************** 24 */ 25 26 #ifndef __PROCOBJECTTREE_H__ 27 #define __PROCOBJECTTREE_H__ 28 29 #include "uniklog.h" 30 #include "timskmod.h" 31 32 /* These are opaque structures to users. 33 * Fields are declared only in the implementation .c files. 34 */ 35 typedef struct MYPROCOBJECT_Tag MYPROCOBJECT; 36 typedef struct MYPROCTYPE_Tag MYPROCTYPE; 37 38 MYPROCOBJECT *visor_proc_CreateObject(MYPROCTYPE *type, const char *name, 39 void *context); 40 void visor_proc_DestroyObject(MYPROCOBJECT *obj); 41 MYPROCTYPE *visor_proc_CreateType(struct proc_dir_entry *procRootDir, 42 const char **name, 43 const char **propertyNames, 44 void (*show_property)(struct seq_file *, 45 void *, int)); 46 void visor_proc_DestroyType(MYPROCTYPE *type); 47 48 #endif 49