1 /* periodic_work.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 #ifndef __PERIODIC_WORK_H__ 19 #define __PERIODIC_WORK_H__ 20 21 #include <linux/seq_file.h> 22 #include <linux/slab.h> 23 24 /* PERIODIC_WORK an opaque structure to users. 25 * Fields are declared only in the implementation .c files. 26 */ 27 struct periodic_work; 28 29 struct periodic_work * 30 visor_periodic_work_create(ulong jiffy_interval, 31 struct workqueue_struct *workqueue, 32 void (*workfunc)(void *), 33 void *workfuncarg, 34 const char *devnam); 35 void visor_periodic_work_destroy(struct periodic_work *pw); 36 bool visor_periodic_work_nextperiod(struct periodic_work *pw); 37 bool visor_periodic_work_start(struct periodic_work *pw); 38 bool visor_periodic_work_stop(struct periodic_work *pw); 39 40 #endif 41