|  | /* | 
|  | *  syscore_ops.h - System core operations. | 
|  | * | 
|  | *  Copyright (C) 2011 Rafael J. Wysocki <[email protected]>, Novell Inc. | 
|  | * | 
|  | *  This file is released under the GPLv2. | 
|  | */ | 
|  |  | 
|  | #ifndef _LINUX_SYSCORE_OPS_H | 
|  | #define _LINUX_SYSCORE_OPS_H | 
|  |  | 
|  | #include <linux/list.h> | 
|  |  | 
|  | struct syscore_ops { | 
|  | struct list_head node; | 
|  | int (*suspend)(void); | 
|  | void (*resume)(void); | 
|  | void (*shutdown)(void); | 
|  | }; | 
|  |  | 
|  | extern void register_syscore_ops(struct syscore_ops *ops); | 
|  | extern void unregister_syscore_ops(struct syscore_ops *ops); | 
|  | #ifdef CONFIG_PM_SLEEP | 
|  | extern int syscore_suspend(void); | 
|  | extern void syscore_resume(void); | 
|  | #endif | 
|  | extern void syscore_shutdown(void); | 
|  |  | 
|  | #endif |