1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 22 "include/asm-generic/int-ll64.h"
7typedef short __s16;
8#line 23 "include/asm-generic/int-ll64.h"
9typedef unsigned short __u16;
10#line 25 "include/asm-generic/int-ll64.h"
11typedef int __s32;
12#line 26 "include/asm-generic/int-ll64.h"
13typedef unsigned int __u32;
14#line 30 "include/asm-generic/int-ll64.h"
15typedef unsigned long long __u64;
16#line 43 "include/asm-generic/int-ll64.h"
17typedef unsigned char u8;
18#line 45 "include/asm-generic/int-ll64.h"
19typedef short s16;
20#line 46 "include/asm-generic/int-ll64.h"
21typedef unsigned short u16;
22#line 48 "include/asm-generic/int-ll64.h"
23typedef int s32;
24#line 49 "include/asm-generic/int-ll64.h"
25typedef unsigned int u32;
26#line 51 "include/asm-generic/int-ll64.h"
27typedef long long s64;
28#line 52 "include/asm-generic/int-ll64.h"
29typedef unsigned long long u64;
30#line 14 "include/asm-generic/posix_types.h"
31typedef long __kernel_long_t;
32#line 15 "include/asm-generic/posix_types.h"
33typedef unsigned long __kernel_ulong_t;
34#line 52 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_uid32_t;
36#line 53 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_gid32_t;
38#line 75 "include/asm-generic/posix_types.h"
39typedef __kernel_ulong_t __kernel_size_t;
40#line 76 "include/asm-generic/posix_types.h"
41typedef __kernel_long_t __kernel_ssize_t;
42#line 91 "include/asm-generic/posix_types.h"
43typedef long long __kernel_loff_t;
44#line 92 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_time_t;
46#line 21 "include/linux/types.h"
47typedef __u32 __kernel_dev_t;
48#line 24 "include/linux/types.h"
49typedef __kernel_dev_t dev_t;
50#line 27 "include/linux/types.h"
51typedef unsigned short umode_t;
52#line 38 "include/linux/types.h"
53typedef _Bool bool;
54#line 40 "include/linux/types.h"
55typedef __kernel_uid32_t uid_t;
56#line 41 "include/linux/types.h"
57typedef __kernel_gid32_t gid_t;
58#line 54 "include/linux/types.h"
59typedef __kernel_loff_t loff_t;
60#line 63 "include/linux/types.h"
61typedef __kernel_size_t size_t;
62#line 68 "include/linux/types.h"
63typedef __kernel_ssize_t ssize_t;
64#line 78 "include/linux/types.h"
65typedef __kernel_time_t time_t;
66#line 142 "include/linux/types.h"
67typedef unsigned long sector_t;
68#line 143 "include/linux/types.h"
69typedef unsigned long blkcnt_t;
70#line 202 "include/linux/types.h"
71typedef unsigned int gfp_t;
72#line 203 "include/linux/types.h"
73typedef unsigned int fmode_t;
74#line 219 "include/linux/types.h"
75struct __anonstruct_atomic_t_7 {
76 int counter ;
77};
78#line 219 "include/linux/types.h"
79typedef struct __anonstruct_atomic_t_7 atomic_t;
80#line 224 "include/linux/types.h"
81struct __anonstruct_atomic64_t_8 {
82 long counter ;
83};
84#line 224 "include/linux/types.h"
85typedef struct __anonstruct_atomic64_t_8 atomic64_t;
86#line 229 "include/linux/types.h"
87struct list_head {
88 struct list_head *next ;
89 struct list_head *prev ;
90};
91#line 233
92struct hlist_node;
93#line 233 "include/linux/types.h"
94struct hlist_head {
95 struct hlist_node *first ;
96};
97#line 237 "include/linux/types.h"
98struct hlist_node {
99 struct hlist_node *next ;
100 struct hlist_node **pprev ;
101};
102#line 253 "include/linux/types.h"
103struct rcu_head {
104 struct rcu_head *next ;
105 void (*func)(struct rcu_head *head ) ;
106};
107#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
108struct module;
109#line 56
110struct module;
111#line 146 "include/linux/init.h"
112typedef void (*ctor_fn_t)(void);
113#line 47 "include/linux/dynamic_debug.h"
114struct device;
115#line 47
116struct device;
117#line 135 "include/linux/kernel.h"
118struct completion;
119#line 135
120struct completion;
121#line 349
122struct pid;
123#line 349
124struct pid;
125#line 12 "include/linux/thread_info.h"
126struct timespec;
127#line 12
128struct timespec;
129#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
130struct page;
131#line 18
132struct page;
133#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
134struct task_struct;
135#line 20
136struct task_struct;
137#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
138struct task_struct;
139#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
140struct file;
141#line 295
142struct file;
143#line 313
144struct seq_file;
145#line 313
146struct seq_file;
147#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
148struct page;
149#line 52
150struct task_struct;
151#line 329
152struct arch_spinlock;
153#line 329
154struct arch_spinlock;
155#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
156struct task_struct;
157#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
158struct task_struct;
159#line 10 "include/asm-generic/bug.h"
160struct bug_entry {
161 int bug_addr_disp ;
162 int file_disp ;
163 unsigned short line ;
164 unsigned short flags ;
165};
166#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
167struct static_key;
168#line 234
169struct static_key;
170#line 23 "include/asm-generic/atomic-long.h"
171typedef atomic64_t atomic_long_t;
172#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
173typedef u16 __ticket_t;
174#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
175typedef u32 __ticketpair_t;
176#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
177struct __raw_tickets {
178 __ticket_t head ;
179 __ticket_t tail ;
180};
181#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
182union __anonunion____missing_field_name_36 {
183 __ticketpair_t head_tail ;
184 struct __raw_tickets tickets ;
185};
186#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
187struct arch_spinlock {
188 union __anonunion____missing_field_name_36 __annonCompField17 ;
189};
190#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
191typedef struct arch_spinlock arch_spinlock_t;
192#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
193struct __anonstruct____missing_field_name_38 {
194 u32 read ;
195 s32 write ;
196};
197#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
198union __anonunion_arch_rwlock_t_37 {
199 s64 lock ;
200 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
201};
202#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
203typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
204#line 12 "include/linux/lockdep.h"
205struct task_struct;
206#line 391 "include/linux/lockdep.h"
207struct lock_class_key {
208
209};
210#line 20 "include/linux/spinlock_types.h"
211struct raw_spinlock {
212 arch_spinlock_t raw_lock ;
213 unsigned int magic ;
214 unsigned int owner_cpu ;
215 void *owner ;
216};
217#line 20 "include/linux/spinlock_types.h"
218typedef struct raw_spinlock raw_spinlock_t;
219#line 64 "include/linux/spinlock_types.h"
220union __anonunion____missing_field_name_39 {
221 struct raw_spinlock rlock ;
222};
223#line 64 "include/linux/spinlock_types.h"
224struct spinlock {
225 union __anonunion____missing_field_name_39 __annonCompField19 ;
226};
227#line 64 "include/linux/spinlock_types.h"
228typedef struct spinlock spinlock_t;
229#line 11 "include/linux/rwlock_types.h"
230struct __anonstruct_rwlock_t_40 {
231 arch_rwlock_t raw_lock ;
232 unsigned int magic ;
233 unsigned int owner_cpu ;
234 void *owner ;
235};
236#line 11 "include/linux/rwlock_types.h"
237typedef struct __anonstruct_rwlock_t_40 rwlock_t;
238#line 119 "include/linux/seqlock.h"
239struct seqcount {
240 unsigned int sequence ;
241};
242#line 119 "include/linux/seqlock.h"
243typedef struct seqcount seqcount_t;
244#line 14 "include/linux/time.h"
245struct timespec {
246 __kernel_time_t tv_sec ;
247 long tv_nsec ;
248};
249#line 62 "include/linux/stat.h"
250struct kstat {
251 u64 ino ;
252 dev_t dev ;
253 umode_t mode ;
254 unsigned int nlink ;
255 uid_t uid ;
256 gid_t gid ;
257 dev_t rdev ;
258 loff_t size ;
259 struct timespec atime ;
260 struct timespec mtime ;
261 struct timespec ctime ;
262 unsigned long blksize ;
263 unsigned long long blocks ;
264};
265#line 49 "include/linux/wait.h"
266struct __wait_queue_head {
267 spinlock_t lock ;
268 struct list_head task_list ;
269};
270#line 53 "include/linux/wait.h"
271typedef struct __wait_queue_head wait_queue_head_t;
272#line 55
273struct task_struct;
274#line 60 "include/linux/pageblock-flags.h"
275struct page;
276#line 48 "include/linux/mutex.h"
277struct mutex {
278 atomic_t count ;
279 spinlock_t wait_lock ;
280 struct list_head wait_list ;
281 struct task_struct *owner ;
282 char const *name ;
283 void *magic ;
284};
285#line 19 "include/linux/rwsem.h"
286struct rw_semaphore;
287#line 19
288struct rw_semaphore;
289#line 25 "include/linux/rwsem.h"
290struct rw_semaphore {
291 long count ;
292 raw_spinlock_t wait_lock ;
293 struct list_head wait_list ;
294};
295#line 25 "include/linux/completion.h"
296struct completion {
297 unsigned int done ;
298 wait_queue_head_t wait ;
299};
300#line 9 "include/linux/memory_hotplug.h"
301struct page;
302#line 798 "include/linux/mmzone.h"
303struct ctl_table;
304#line 798
305struct ctl_table;
306#line 202 "include/linux/ioport.h"
307struct device;
308#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
309struct device;
310#line 46 "include/linux/ktime.h"
311union ktime {
312 s64 tv64 ;
313};
314#line 59 "include/linux/ktime.h"
315typedef union ktime ktime_t;
316#line 10 "include/linux/timer.h"
317struct tvec_base;
318#line 10
319struct tvec_base;
320#line 12 "include/linux/timer.h"
321struct timer_list {
322 struct list_head entry ;
323 unsigned long expires ;
324 struct tvec_base *base ;
325 void (*function)(unsigned long ) ;
326 unsigned long data ;
327 int slack ;
328 int start_pid ;
329 void *start_site ;
330 char start_comm[16] ;
331};
332#line 17 "include/linux/workqueue.h"
333struct work_struct;
334#line 17
335struct work_struct;
336#line 79 "include/linux/workqueue.h"
337struct work_struct {
338 atomic_long_t data ;
339 struct list_head entry ;
340 void (*func)(struct work_struct *work ) ;
341};
342#line 42 "include/linux/pm.h"
343struct device;
344#line 50 "include/linux/pm.h"
345struct pm_message {
346 int event ;
347};
348#line 50 "include/linux/pm.h"
349typedef struct pm_message pm_message_t;
350#line 264 "include/linux/pm.h"
351struct dev_pm_ops {
352 int (*prepare)(struct device *dev ) ;
353 void (*complete)(struct device *dev ) ;
354 int (*suspend)(struct device *dev ) ;
355 int (*resume)(struct device *dev ) ;
356 int (*freeze)(struct device *dev ) ;
357 int (*thaw)(struct device *dev ) ;
358 int (*poweroff)(struct device *dev ) ;
359 int (*restore)(struct device *dev ) ;
360 int (*suspend_late)(struct device *dev ) ;
361 int (*resume_early)(struct device *dev ) ;
362 int (*freeze_late)(struct device *dev ) ;
363 int (*thaw_early)(struct device *dev ) ;
364 int (*poweroff_late)(struct device *dev ) ;
365 int (*restore_early)(struct device *dev ) ;
366 int (*suspend_noirq)(struct device *dev ) ;
367 int (*resume_noirq)(struct device *dev ) ;
368 int (*freeze_noirq)(struct device *dev ) ;
369 int (*thaw_noirq)(struct device *dev ) ;
370 int (*poweroff_noirq)(struct device *dev ) ;
371 int (*restore_noirq)(struct device *dev ) ;
372 int (*runtime_suspend)(struct device *dev ) ;
373 int (*runtime_resume)(struct device *dev ) ;
374 int (*runtime_idle)(struct device *dev ) ;
375};
376#line 458
377enum rpm_status {
378 RPM_ACTIVE = 0,
379 RPM_RESUMING = 1,
380 RPM_SUSPENDED = 2,
381 RPM_SUSPENDING = 3
382} ;
383#line 480
384enum rpm_request {
385 RPM_REQ_NONE = 0,
386 RPM_REQ_IDLE = 1,
387 RPM_REQ_SUSPEND = 2,
388 RPM_REQ_AUTOSUSPEND = 3,
389 RPM_REQ_RESUME = 4
390} ;
391#line 488
392struct wakeup_source;
393#line 488
394struct wakeup_source;
395#line 495 "include/linux/pm.h"
396struct pm_subsys_data {
397 spinlock_t lock ;
398 unsigned int refcount ;
399};
400#line 506
401struct dev_pm_qos_request;
402#line 506
403struct pm_qos_constraints;
404#line 506 "include/linux/pm.h"
405struct dev_pm_info {
406 pm_message_t power_state ;
407 unsigned int can_wakeup : 1 ;
408 unsigned int async_suspend : 1 ;
409 bool is_prepared : 1 ;
410 bool is_suspended : 1 ;
411 bool ignore_children : 1 ;
412 spinlock_t lock ;
413 struct list_head entry ;
414 struct completion completion ;
415 struct wakeup_source *wakeup ;
416 bool wakeup_path : 1 ;
417 struct timer_list suspend_timer ;
418 unsigned long timer_expires ;
419 struct work_struct work ;
420 wait_queue_head_t wait_queue ;
421 atomic_t usage_count ;
422 atomic_t child_count ;
423 unsigned int disable_depth : 3 ;
424 unsigned int idle_notification : 1 ;
425 unsigned int request_pending : 1 ;
426 unsigned int deferred_resume : 1 ;
427 unsigned int run_wake : 1 ;
428 unsigned int runtime_auto : 1 ;
429 unsigned int no_callbacks : 1 ;
430 unsigned int irq_safe : 1 ;
431 unsigned int use_autosuspend : 1 ;
432 unsigned int timer_autosuspends : 1 ;
433 enum rpm_request request ;
434 enum rpm_status runtime_status ;
435 int runtime_error ;
436 int autosuspend_delay ;
437 unsigned long last_busy ;
438 unsigned long active_jiffies ;
439 unsigned long suspended_jiffies ;
440 unsigned long accounting_timestamp ;
441 ktime_t suspend_time ;
442 s64 max_time_suspended_ns ;
443 struct dev_pm_qos_request *pq_req ;
444 struct pm_subsys_data *subsys_data ;
445 struct pm_qos_constraints *constraints ;
446};
447#line 564 "include/linux/pm.h"
448struct dev_pm_domain {
449 struct dev_pm_ops ops ;
450};
451#line 8 "include/linux/vmalloc.h"
452struct vm_area_struct;
453#line 8
454struct vm_area_struct;
455#line 994 "include/linux/mmzone.h"
456struct page;
457#line 10 "include/linux/gfp.h"
458struct vm_area_struct;
459#line 29 "include/linux/sysctl.h"
460struct completion;
461#line 100 "include/linux/rbtree.h"
462struct rb_node {
463 unsigned long rb_parent_color ;
464 struct rb_node *rb_right ;
465 struct rb_node *rb_left ;
466} __attribute__((__aligned__(sizeof(long )))) ;
467#line 110 "include/linux/rbtree.h"
468struct rb_root {
469 struct rb_node *rb_node ;
470};
471#line 938 "include/linux/sysctl.h"
472struct ctl_table;
473#line 939
474struct nsproxy;
475#line 939
476struct nsproxy;
477#line 940
478struct ctl_table_root;
479#line 940
480struct ctl_table_root;
481#line 941
482struct ctl_table_header;
483#line 941
484struct ctl_table_header;
485#line 942
486struct ctl_dir;
487#line 942
488struct ctl_dir;
489#line 944 "include/linux/sysctl.h"
490typedef struct ctl_table ctl_table;
491#line 946 "include/linux/sysctl.h"
492typedef int proc_handler(struct ctl_table *ctl , int write , void *buffer , size_t *lenp ,
493 loff_t *ppos );
494#line 996 "include/linux/sysctl.h"
495struct ctl_table_poll {
496 atomic_t event ;
497 wait_queue_head_t wait ;
498};
499#line 1014 "include/linux/sysctl.h"
500struct ctl_table {
501 char const *procname ;
502 void *data ;
503 int maxlen ;
504 umode_t mode ;
505 struct ctl_table *child ;
506 proc_handler *proc_handler ;
507 struct ctl_table_poll *poll ;
508 void *extra1 ;
509 void *extra2 ;
510};
511#line 1027 "include/linux/sysctl.h"
512struct ctl_node {
513 struct rb_node node ;
514 struct ctl_table_header *header ;
515};
516#line 1034 "include/linux/sysctl.h"
517struct __anonstruct____missing_field_name_194 {
518 struct ctl_table *ctl_table ;
519 int used ;
520 int count ;
521 int nreg ;
522};
523#line 1034 "include/linux/sysctl.h"
524union __anonunion____missing_field_name_193 {
525 struct __anonstruct____missing_field_name_194 __annonCompField30 ;
526 struct rcu_head rcu ;
527};
528#line 1034
529struct ctl_table_set;
530#line 1034 "include/linux/sysctl.h"
531struct ctl_table_header {
532 union __anonunion____missing_field_name_193 __annonCompField31 ;
533 struct completion *unregistering ;
534 struct ctl_table *ctl_table_arg ;
535 struct ctl_table_root *root ;
536 struct ctl_table_set *set ;
537 struct ctl_dir *parent ;
538 struct ctl_node *node ;
539};
540#line 1053 "include/linux/sysctl.h"
541struct ctl_dir {
542 struct ctl_table_header header ;
543 struct rb_root root ;
544};
545#line 1059 "include/linux/sysctl.h"
546struct ctl_table_set {
547 int (*is_seen)(struct ctl_table_set * ) ;
548 struct ctl_dir dir ;
549};
550#line 1064 "include/linux/sysctl.h"
551struct ctl_table_root {
552 struct ctl_table_set default_set ;
553 struct ctl_table_set *(*lookup)(struct ctl_table_root *root , struct nsproxy *namespaces ) ;
554 int (*permissions)(struct ctl_table_root *root , struct nsproxy *namespaces , struct ctl_table *table ) ;
555};
556#line 48 "include/linux/kmod.h"
557struct cred;
558#line 48
559struct cred;
560#line 49
561struct file;
562#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
563struct task_struct;
564#line 18 "include/linux/elf.h"
565typedef __u64 Elf64_Addr;
566#line 19 "include/linux/elf.h"
567typedef __u16 Elf64_Half;
568#line 23 "include/linux/elf.h"
569typedef __u32 Elf64_Word;
570#line 24 "include/linux/elf.h"
571typedef __u64 Elf64_Xword;
572#line 194 "include/linux/elf.h"
573struct elf64_sym {
574 Elf64_Word st_name ;
575 unsigned char st_info ;
576 unsigned char st_other ;
577 Elf64_Half st_shndx ;
578 Elf64_Addr st_value ;
579 Elf64_Xword st_size ;
580};
581#line 194 "include/linux/elf.h"
582typedef struct elf64_sym Elf64_Sym;
583#line 438
584struct file;
585#line 20 "include/linux/kobject_ns.h"
586struct sock;
587#line 20
588struct sock;
589#line 21
590struct kobject;
591#line 21
592struct kobject;
593#line 27
594enum kobj_ns_type {
595 KOBJ_NS_TYPE_NONE = 0,
596 KOBJ_NS_TYPE_NET = 1,
597 KOBJ_NS_TYPES = 2
598} ;
599#line 40 "include/linux/kobject_ns.h"
600struct kobj_ns_type_operations {
601 enum kobj_ns_type type ;
602 void *(*grab_current_ns)(void) ;
603 void const *(*netlink_ns)(struct sock *sk ) ;
604 void const *(*initial_ns)(void) ;
605 void (*drop_ns)(void * ) ;
606};
607#line 22 "include/linux/sysfs.h"
608struct kobject;
609#line 23
610struct module;
611#line 24
612enum kobj_ns_type;
613#line 26 "include/linux/sysfs.h"
614struct attribute {
615 char const *name ;
616 umode_t mode ;
617};
618#line 56 "include/linux/sysfs.h"
619struct attribute_group {
620 char const *name ;
621 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
622 struct attribute **attrs ;
623};
624#line 85
625struct file;
626#line 86
627struct vm_area_struct;
628#line 88 "include/linux/sysfs.h"
629struct bin_attribute {
630 struct attribute attr ;
631 size_t size ;
632 void *private ;
633 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
634 loff_t , size_t ) ;
635 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
636 loff_t , size_t ) ;
637 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
638};
639#line 112 "include/linux/sysfs.h"
640struct sysfs_ops {
641 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
642 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
643 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
644};
645#line 118
646struct sysfs_dirent;
647#line 118
648struct sysfs_dirent;
649#line 22 "include/linux/kref.h"
650struct kref {
651 atomic_t refcount ;
652};
653#line 60 "include/linux/kobject.h"
654struct kset;
655#line 60
656struct kobj_type;
657#line 60 "include/linux/kobject.h"
658struct kobject {
659 char const *name ;
660 struct list_head entry ;
661 struct kobject *parent ;
662 struct kset *kset ;
663 struct kobj_type *ktype ;
664 struct sysfs_dirent *sd ;
665 struct kref kref ;
666 unsigned int state_initialized : 1 ;
667 unsigned int state_in_sysfs : 1 ;
668 unsigned int state_add_uevent_sent : 1 ;
669 unsigned int state_remove_uevent_sent : 1 ;
670 unsigned int uevent_suppress : 1 ;
671};
672#line 108 "include/linux/kobject.h"
673struct kobj_type {
674 void (*release)(struct kobject *kobj ) ;
675 struct sysfs_ops const *sysfs_ops ;
676 struct attribute **default_attrs ;
677 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
678 void const *(*namespace)(struct kobject *kobj ) ;
679};
680#line 116 "include/linux/kobject.h"
681struct kobj_uevent_env {
682 char *envp[32] ;
683 int envp_idx ;
684 char buf[2048] ;
685 int buflen ;
686};
687#line 123 "include/linux/kobject.h"
688struct kset_uevent_ops {
689 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
690 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
691 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
692};
693#line 140
694struct sock;
695#line 159 "include/linux/kobject.h"
696struct kset {
697 struct list_head list ;
698 spinlock_t list_lock ;
699 struct kobject kobj ;
700 struct kset_uevent_ops const *uevent_ops ;
701};
702#line 39 "include/linux/moduleparam.h"
703struct kernel_param;
704#line 39
705struct kernel_param;
706#line 41 "include/linux/moduleparam.h"
707struct kernel_param_ops {
708 int (*set)(char const *val , struct kernel_param const *kp ) ;
709 int (*get)(char *buffer , struct kernel_param const *kp ) ;
710 void (*free)(void *arg ) ;
711};
712#line 50
713struct kparam_string;
714#line 50
715struct kparam_array;
716#line 50 "include/linux/moduleparam.h"
717union __anonunion____missing_field_name_199 {
718 void *arg ;
719 struct kparam_string const *str ;
720 struct kparam_array const *arr ;
721};
722#line 50 "include/linux/moduleparam.h"
723struct kernel_param {
724 char const *name ;
725 struct kernel_param_ops const *ops ;
726 u16 perm ;
727 s16 level ;
728 union __anonunion____missing_field_name_199 __annonCompField32 ;
729};
730#line 63 "include/linux/moduleparam.h"
731struct kparam_string {
732 unsigned int maxlen ;
733 char *string ;
734};
735#line 69 "include/linux/moduleparam.h"
736struct kparam_array {
737 unsigned int max ;
738 unsigned int elemsize ;
739 unsigned int *num ;
740 struct kernel_param_ops const *ops ;
741 void *elem ;
742};
743#line 445
744struct module;
745#line 80 "include/linux/jump_label.h"
746struct module;
747#line 143 "include/linux/jump_label.h"
748struct static_key {
749 atomic_t enabled ;
750};
751#line 22 "include/linux/tracepoint.h"
752struct module;
753#line 23
754struct tracepoint;
755#line 23
756struct tracepoint;
757#line 25 "include/linux/tracepoint.h"
758struct tracepoint_func {
759 void *func ;
760 void *data ;
761};
762#line 30 "include/linux/tracepoint.h"
763struct tracepoint {
764 char const *name ;
765 struct static_key key ;
766 void (*regfunc)(void) ;
767 void (*unregfunc)(void) ;
768 struct tracepoint_func *funcs ;
769};
770#line 19 "include/linux/export.h"
771struct kernel_symbol {
772 unsigned long value ;
773 char const *name ;
774};
775#line 8 "include/asm-generic/module.h"
776struct mod_arch_specific {
777
778};
779#line 35 "include/linux/module.h"
780struct module;
781#line 37
782struct module_param_attrs;
783#line 37 "include/linux/module.h"
784struct module_kobject {
785 struct kobject kobj ;
786 struct module *mod ;
787 struct kobject *drivers_dir ;
788 struct module_param_attrs *mp ;
789};
790#line 44 "include/linux/module.h"
791struct module_attribute {
792 struct attribute attr ;
793 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
794 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
795 size_t count ) ;
796 void (*setup)(struct module * , char const * ) ;
797 int (*test)(struct module * ) ;
798 void (*free)(struct module * ) ;
799};
800#line 71
801struct exception_table_entry;
802#line 71
803struct exception_table_entry;
804#line 199
805enum module_state {
806 MODULE_STATE_LIVE = 0,
807 MODULE_STATE_COMING = 1,
808 MODULE_STATE_GOING = 2
809} ;
810#line 215 "include/linux/module.h"
811struct module_ref {
812 unsigned long incs ;
813 unsigned long decs ;
814} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
815#line 220
816struct module_sect_attrs;
817#line 220
818struct module_notes_attrs;
819#line 220
820struct ftrace_event_call;
821#line 220 "include/linux/module.h"
822struct module {
823 enum module_state state ;
824 struct list_head list ;
825 char name[64UL - sizeof(unsigned long )] ;
826 struct module_kobject mkobj ;
827 struct module_attribute *modinfo_attrs ;
828 char const *version ;
829 char const *srcversion ;
830 struct kobject *holders_dir ;
831 struct kernel_symbol const *syms ;
832 unsigned long const *crcs ;
833 unsigned int num_syms ;
834 struct kernel_param *kp ;
835 unsigned int num_kp ;
836 unsigned int num_gpl_syms ;
837 struct kernel_symbol const *gpl_syms ;
838 unsigned long const *gpl_crcs ;
839 struct kernel_symbol const *unused_syms ;
840 unsigned long const *unused_crcs ;
841 unsigned int num_unused_syms ;
842 unsigned int num_unused_gpl_syms ;
843 struct kernel_symbol const *unused_gpl_syms ;
844 unsigned long const *unused_gpl_crcs ;
845 struct kernel_symbol const *gpl_future_syms ;
846 unsigned long const *gpl_future_crcs ;
847 unsigned int num_gpl_future_syms ;
848 unsigned int num_exentries ;
849 struct exception_table_entry *extable ;
850 int (*init)(void) ;
851 void *module_init ;
852 void *module_core ;
853 unsigned int init_size ;
854 unsigned int core_size ;
855 unsigned int init_text_size ;
856 unsigned int core_text_size ;
857 unsigned int init_ro_size ;
858 unsigned int core_ro_size ;
859 struct mod_arch_specific arch ;
860 unsigned int taints ;
861 unsigned int num_bugs ;
862 struct list_head bug_list ;
863 struct bug_entry *bug_table ;
864 Elf64_Sym *symtab ;
865 Elf64_Sym *core_symtab ;
866 unsigned int num_symtab ;
867 unsigned int core_num_syms ;
868 char *strtab ;
869 char *core_strtab ;
870 struct module_sect_attrs *sect_attrs ;
871 struct module_notes_attrs *notes_attrs ;
872 char *args ;
873 void *percpu ;
874 unsigned int percpu_size ;
875 unsigned int num_tracepoints ;
876 struct tracepoint * const *tracepoints_ptrs ;
877 unsigned int num_trace_bprintk_fmt ;
878 char const **trace_bprintk_fmt_start ;
879 struct ftrace_event_call **trace_events ;
880 unsigned int num_trace_events ;
881 struct list_head source_list ;
882 struct list_head target_list ;
883 struct task_struct *waiter ;
884 void (*exit)(void) ;
885 struct module_ref *refptr ;
886 ctor_fn_t *ctors ;
887 unsigned int num_ctors ;
888};
889#line 15 "include/linux/blk_types.h"
890struct page;
891#line 16
892struct block_device;
893#line 16
894struct block_device;
895#line 33 "include/linux/list_bl.h"
896struct hlist_bl_node;
897#line 33 "include/linux/list_bl.h"
898struct hlist_bl_head {
899 struct hlist_bl_node *first ;
900};
901#line 37 "include/linux/list_bl.h"
902struct hlist_bl_node {
903 struct hlist_bl_node *next ;
904 struct hlist_bl_node **pprev ;
905};
906#line 13 "include/linux/dcache.h"
907struct nameidata;
908#line 13
909struct nameidata;
910#line 14
911struct path;
912#line 14
913struct path;
914#line 15
915struct vfsmount;
916#line 15
917struct vfsmount;
918#line 35 "include/linux/dcache.h"
919struct qstr {
920 unsigned int hash ;
921 unsigned int len ;
922 unsigned char const *name ;
923};
924#line 88
925struct inode;
926#line 88
927struct dentry_operations;
928#line 88
929struct super_block;
930#line 88 "include/linux/dcache.h"
931union __anonunion_d_u_201 {
932 struct list_head d_child ;
933 struct rcu_head d_rcu ;
934};
935#line 88 "include/linux/dcache.h"
936struct dentry {
937 unsigned int d_flags ;
938 seqcount_t d_seq ;
939 struct hlist_bl_node d_hash ;
940 struct dentry *d_parent ;
941 struct qstr d_name ;
942 struct inode *d_inode ;
943 unsigned char d_iname[32] ;
944 unsigned int d_count ;
945 spinlock_t d_lock ;
946 struct dentry_operations const *d_op ;
947 struct super_block *d_sb ;
948 unsigned long d_time ;
949 void *d_fsdata ;
950 struct list_head d_lru ;
951 union __anonunion_d_u_201 d_u ;
952 struct list_head d_subdirs ;
953 struct list_head d_alias ;
954};
955#line 131 "include/linux/dcache.h"
956struct dentry_operations {
957 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
958 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
959 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
960 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
961 int (*d_delete)(struct dentry const * ) ;
962 void (*d_release)(struct dentry * ) ;
963 void (*d_prune)(struct dentry * ) ;
964 void (*d_iput)(struct dentry * , struct inode * ) ;
965 char *(*d_dname)(struct dentry * , char * , int ) ;
966 struct vfsmount *(*d_automount)(struct path * ) ;
967 int (*d_manage)(struct dentry * , bool ) ;
968} __attribute__((__aligned__((1) << (6) ))) ;
969#line 4 "include/linux/path.h"
970struct dentry;
971#line 5
972struct vfsmount;
973#line 7 "include/linux/path.h"
974struct path {
975 struct vfsmount *mnt ;
976 struct dentry *dentry ;
977};
978#line 64 "include/linux/radix-tree.h"
979struct radix_tree_node;
980#line 64 "include/linux/radix-tree.h"
981struct radix_tree_root {
982 unsigned int height ;
983 gfp_t gfp_mask ;
984 struct radix_tree_node *rnode ;
985};
986#line 14 "include/linux/prio_tree.h"
987struct prio_tree_node;
988#line 20 "include/linux/prio_tree.h"
989struct prio_tree_node {
990 struct prio_tree_node *left ;
991 struct prio_tree_node *right ;
992 struct prio_tree_node *parent ;
993 unsigned long start ;
994 unsigned long last ;
995};
996#line 28 "include/linux/prio_tree.h"
997struct prio_tree_root {
998 struct prio_tree_node *prio_tree_node ;
999 unsigned short index_bits ;
1000 unsigned short raw ;
1001};
1002#line 6 "include/linux/pid.h"
1003enum pid_type {
1004 PIDTYPE_PID = 0,
1005 PIDTYPE_PGID = 1,
1006 PIDTYPE_SID = 2,
1007 PIDTYPE_MAX = 3
1008} ;
1009#line 50
1010struct pid_namespace;
1011#line 50 "include/linux/pid.h"
1012struct upid {
1013 int nr ;
1014 struct pid_namespace *ns ;
1015 struct hlist_node pid_chain ;
1016};
1017#line 57 "include/linux/pid.h"
1018struct pid {
1019 atomic_t count ;
1020 unsigned int level ;
1021 struct hlist_head tasks[3] ;
1022 struct rcu_head rcu ;
1023 struct upid numbers[1] ;
1024};
1025#line 100
1026struct pid_namespace;
1027#line 18 "include/linux/capability.h"
1028struct task_struct;
1029#line 377
1030struct dentry;
1031#line 16 "include/linux/fiemap.h"
1032struct fiemap_extent {
1033 __u64 fe_logical ;
1034 __u64 fe_physical ;
1035 __u64 fe_length ;
1036 __u64 fe_reserved64[2] ;
1037 __u32 fe_flags ;
1038 __u32 fe_reserved[3] ;
1039};
1040#line 8 "include/linux/shrinker.h"
1041struct shrink_control {
1042 gfp_t gfp_mask ;
1043 unsigned long nr_to_scan ;
1044};
1045#line 31 "include/linux/shrinker.h"
1046struct shrinker {
1047 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1048 int seeks ;
1049 long batch ;
1050 struct list_head list ;
1051 atomic_long_t nr_in_batch ;
1052};
1053#line 10 "include/linux/migrate_mode.h"
1054enum migrate_mode {
1055 MIGRATE_ASYNC = 0,
1056 MIGRATE_SYNC_LIGHT = 1,
1057 MIGRATE_SYNC = 2
1058} ;
1059#line 408 "include/linux/fs.h"
1060struct export_operations;
1061#line 408
1062struct export_operations;
1063#line 410
1064struct iovec;
1065#line 410
1066struct iovec;
1067#line 411
1068struct nameidata;
1069#line 412
1070struct kiocb;
1071#line 412
1072struct kiocb;
1073#line 413
1074struct kobject;
1075#line 414
1076struct pipe_inode_info;
1077#line 414
1078struct pipe_inode_info;
1079#line 415
1080struct poll_table_struct;
1081#line 415
1082struct poll_table_struct;
1083#line 416
1084struct kstatfs;
1085#line 416
1086struct kstatfs;
1087#line 417
1088struct vm_area_struct;
1089#line 418
1090struct vfsmount;
1091#line 419
1092struct cred;
1093#line 469 "include/linux/fs.h"
1094struct iattr {
1095 unsigned int ia_valid ;
1096 umode_t ia_mode ;
1097 uid_t ia_uid ;
1098 gid_t ia_gid ;
1099 loff_t ia_size ;
1100 struct timespec ia_atime ;
1101 struct timespec ia_mtime ;
1102 struct timespec ia_ctime ;
1103 struct file *ia_file ;
1104};
1105#line 129 "include/linux/quota.h"
1106struct if_dqinfo {
1107 __u64 dqi_bgrace ;
1108 __u64 dqi_igrace ;
1109 __u32 dqi_flags ;
1110 __u32 dqi_valid ;
1111};
1112#line 50 "include/linux/dqblk_xfs.h"
1113struct fs_disk_quota {
1114 __s8 d_version ;
1115 __s8 d_flags ;
1116 __u16 d_fieldmask ;
1117 __u32 d_id ;
1118 __u64 d_blk_hardlimit ;
1119 __u64 d_blk_softlimit ;
1120 __u64 d_ino_hardlimit ;
1121 __u64 d_ino_softlimit ;
1122 __u64 d_bcount ;
1123 __u64 d_icount ;
1124 __s32 d_itimer ;
1125 __s32 d_btimer ;
1126 __u16 d_iwarns ;
1127 __u16 d_bwarns ;
1128 __s32 d_padding2 ;
1129 __u64 d_rtb_hardlimit ;
1130 __u64 d_rtb_softlimit ;
1131 __u64 d_rtbcount ;
1132 __s32 d_rtbtimer ;
1133 __u16 d_rtbwarns ;
1134 __s16 d_padding3 ;
1135 char d_padding4[8] ;
1136};
1137#line 146 "include/linux/dqblk_xfs.h"
1138struct fs_qfilestat {
1139 __u64 qfs_ino ;
1140 __u64 qfs_nblks ;
1141 __u32 qfs_nextents ;
1142};
1143#line 146 "include/linux/dqblk_xfs.h"
1144typedef struct fs_qfilestat fs_qfilestat_t;
1145#line 152 "include/linux/dqblk_xfs.h"
1146struct fs_quota_stat {
1147 __s8 qs_version ;
1148 __u16 qs_flags ;
1149 __s8 qs_pad ;
1150 fs_qfilestat_t qs_uquota ;
1151 fs_qfilestat_t qs_gquota ;
1152 __u32 qs_incoredqs ;
1153 __s32 qs_btimelimit ;
1154 __s32 qs_itimelimit ;
1155 __s32 qs_rtbtimelimit ;
1156 __u16 qs_bwarnlimit ;
1157 __u16 qs_iwarnlimit ;
1158};
1159#line 17 "include/linux/dqblk_qtree.h"
1160struct dquot;
1161#line 17
1162struct dquot;
1163#line 185 "include/linux/quota.h"
1164typedef __kernel_uid32_t qid_t;
1165#line 186 "include/linux/quota.h"
1166typedef long long qsize_t;
1167#line 200 "include/linux/quota.h"
1168struct mem_dqblk {
1169 qsize_t dqb_bhardlimit ;
1170 qsize_t dqb_bsoftlimit ;
1171 qsize_t dqb_curspace ;
1172 qsize_t dqb_rsvspace ;
1173 qsize_t dqb_ihardlimit ;
1174 qsize_t dqb_isoftlimit ;
1175 qsize_t dqb_curinodes ;
1176 time_t dqb_btime ;
1177 time_t dqb_itime ;
1178};
1179#line 215
1180struct quota_format_type;
1181#line 215
1182struct quota_format_type;
1183#line 217 "include/linux/quota.h"
1184struct mem_dqinfo {
1185 struct quota_format_type *dqi_format ;
1186 int dqi_fmt_id ;
1187 struct list_head dqi_dirty_list ;
1188 unsigned long dqi_flags ;
1189 unsigned int dqi_bgrace ;
1190 unsigned int dqi_igrace ;
1191 qsize_t dqi_maxblimit ;
1192 qsize_t dqi_maxilimit ;
1193 void *dqi_priv ;
1194};
1195#line 230
1196struct super_block;
1197#line 288 "include/linux/quota.h"
1198struct dquot {
1199 struct hlist_node dq_hash ;
1200 struct list_head dq_inuse ;
1201 struct list_head dq_free ;
1202 struct list_head dq_dirty ;
1203 struct mutex dq_lock ;
1204 atomic_t dq_count ;
1205 wait_queue_head_t dq_wait_unused ;
1206 struct super_block *dq_sb ;
1207 unsigned int dq_id ;
1208 loff_t dq_off ;
1209 unsigned long dq_flags ;
1210 short dq_type ;
1211 struct mem_dqblk dq_dqb ;
1212};
1213#line 305 "include/linux/quota.h"
1214struct quota_format_ops {
1215 int (*check_quota_file)(struct super_block *sb , int type ) ;
1216 int (*read_file_info)(struct super_block *sb , int type ) ;
1217 int (*write_file_info)(struct super_block *sb , int type ) ;
1218 int (*free_file_info)(struct super_block *sb , int type ) ;
1219 int (*read_dqblk)(struct dquot *dquot ) ;
1220 int (*commit_dqblk)(struct dquot *dquot ) ;
1221 int (*release_dqblk)(struct dquot *dquot ) ;
1222};
1223#line 316 "include/linux/quota.h"
1224struct dquot_operations {
1225 int (*write_dquot)(struct dquot * ) ;
1226 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1227 void (*destroy_dquot)(struct dquot * ) ;
1228 int (*acquire_dquot)(struct dquot * ) ;
1229 int (*release_dquot)(struct dquot * ) ;
1230 int (*mark_dirty)(struct dquot * ) ;
1231 int (*write_info)(struct super_block * , int ) ;
1232 qsize_t *(*get_reserved_space)(struct inode * ) ;
1233};
1234#line 329
1235struct path;
1236#line 332 "include/linux/quota.h"
1237struct quotactl_ops {
1238 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1239 int (*quota_on_meta)(struct super_block * , int , int ) ;
1240 int (*quota_off)(struct super_block * , int ) ;
1241 int (*quota_sync)(struct super_block * , int , int ) ;
1242 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1243 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1244 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1245 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1246 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1247 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1248};
1249#line 345 "include/linux/quota.h"
1250struct quota_format_type {
1251 int qf_fmt_id ;
1252 struct quota_format_ops const *qf_ops ;
1253 struct module *qf_owner ;
1254 struct quota_format_type *qf_next ;
1255};
1256#line 399 "include/linux/quota.h"
1257struct quota_info {
1258 unsigned int flags ;
1259 struct mutex dqio_mutex ;
1260 struct mutex dqonoff_mutex ;
1261 struct rw_semaphore dqptr_sem ;
1262 struct inode *files[2] ;
1263 struct mem_dqinfo info[2] ;
1264 struct quota_format_ops const *ops[2] ;
1265};
1266#line 532 "include/linux/fs.h"
1267struct page;
1268#line 533
1269struct address_space;
1270#line 533
1271struct address_space;
1272#line 534
1273struct writeback_control;
1274#line 534
1275struct writeback_control;
1276#line 577 "include/linux/fs.h"
1277union __anonunion_arg_209 {
1278 char *buf ;
1279 void *data ;
1280};
1281#line 577 "include/linux/fs.h"
1282struct __anonstruct_read_descriptor_t_208 {
1283 size_t written ;
1284 size_t count ;
1285 union __anonunion_arg_209 arg ;
1286 int error ;
1287};
1288#line 577 "include/linux/fs.h"
1289typedef struct __anonstruct_read_descriptor_t_208 read_descriptor_t;
1290#line 590 "include/linux/fs.h"
1291struct address_space_operations {
1292 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1293 int (*readpage)(struct file * , struct page * ) ;
1294 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1295 int (*set_page_dirty)(struct page *page ) ;
1296 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1297 unsigned int nr_pages ) ;
1298 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1299 unsigned int len , unsigned int flags , struct page **pagep ,
1300 void **fsdata ) ;
1301 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1302 unsigned int copied , struct page *page , void *fsdata ) ;
1303 sector_t (*bmap)(struct address_space * , sector_t ) ;
1304 void (*invalidatepage)(struct page * , unsigned long ) ;
1305 int (*releasepage)(struct page * , gfp_t ) ;
1306 void (*freepage)(struct page * ) ;
1307 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1308 unsigned long nr_segs ) ;
1309 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1310 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1311 int (*launder_page)(struct page * ) ;
1312 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1313 int (*error_remove_page)(struct address_space * , struct page * ) ;
1314};
1315#line 645
1316struct backing_dev_info;
1317#line 645
1318struct backing_dev_info;
1319#line 646 "include/linux/fs.h"
1320struct address_space {
1321 struct inode *host ;
1322 struct radix_tree_root page_tree ;
1323 spinlock_t tree_lock ;
1324 unsigned int i_mmap_writable ;
1325 struct prio_tree_root i_mmap ;
1326 struct list_head i_mmap_nonlinear ;
1327 struct mutex i_mmap_mutex ;
1328 unsigned long nrpages ;
1329 unsigned long writeback_index ;
1330 struct address_space_operations const *a_ops ;
1331 unsigned long flags ;
1332 struct backing_dev_info *backing_dev_info ;
1333 spinlock_t private_lock ;
1334 struct list_head private_list ;
1335 struct address_space *assoc_mapping ;
1336} __attribute__((__aligned__(sizeof(long )))) ;
1337#line 669
1338struct request_queue;
1339#line 669
1340struct request_queue;
1341#line 671
1342struct hd_struct;
1343#line 671
1344struct gendisk;
1345#line 671 "include/linux/fs.h"
1346struct block_device {
1347 dev_t bd_dev ;
1348 int bd_openers ;
1349 struct inode *bd_inode ;
1350 struct super_block *bd_super ;
1351 struct mutex bd_mutex ;
1352 struct list_head bd_inodes ;
1353 void *bd_claiming ;
1354 void *bd_holder ;
1355 int bd_holders ;
1356 bool bd_write_holder ;
1357 struct list_head bd_holder_disks ;
1358 struct block_device *bd_contains ;
1359 unsigned int bd_block_size ;
1360 struct hd_struct *bd_part ;
1361 unsigned int bd_part_count ;
1362 int bd_invalidated ;
1363 struct gendisk *bd_disk ;
1364 struct request_queue *bd_queue ;
1365 struct list_head bd_list ;
1366 unsigned long bd_private ;
1367 int bd_fsfreeze_count ;
1368 struct mutex bd_fsfreeze_mutex ;
1369};
1370#line 749
1371struct posix_acl;
1372#line 749
1373struct posix_acl;
1374#line 761
1375struct inode_operations;
1376#line 761 "include/linux/fs.h"
1377union __anonunion____missing_field_name_210 {
1378 unsigned int const i_nlink ;
1379 unsigned int __i_nlink ;
1380};
1381#line 761 "include/linux/fs.h"
1382union __anonunion____missing_field_name_211 {
1383 struct list_head i_dentry ;
1384 struct rcu_head i_rcu ;
1385};
1386#line 761
1387struct file_operations;
1388#line 761
1389struct file_lock;
1390#line 761
1391struct cdev;
1392#line 761 "include/linux/fs.h"
1393union __anonunion____missing_field_name_212 {
1394 struct pipe_inode_info *i_pipe ;
1395 struct block_device *i_bdev ;
1396 struct cdev *i_cdev ;
1397};
1398#line 761 "include/linux/fs.h"
1399struct inode {
1400 umode_t i_mode ;
1401 unsigned short i_opflags ;
1402 uid_t i_uid ;
1403 gid_t i_gid ;
1404 unsigned int i_flags ;
1405 struct posix_acl *i_acl ;
1406 struct posix_acl *i_default_acl ;
1407 struct inode_operations const *i_op ;
1408 struct super_block *i_sb ;
1409 struct address_space *i_mapping ;
1410 void *i_security ;
1411 unsigned long i_ino ;
1412 union __anonunion____missing_field_name_210 __annonCompField33 ;
1413 dev_t i_rdev ;
1414 struct timespec i_atime ;
1415 struct timespec i_mtime ;
1416 struct timespec i_ctime ;
1417 spinlock_t i_lock ;
1418 unsigned short i_bytes ;
1419 blkcnt_t i_blocks ;
1420 loff_t i_size ;
1421 unsigned long i_state ;
1422 struct mutex i_mutex ;
1423 unsigned long dirtied_when ;
1424 struct hlist_node i_hash ;
1425 struct list_head i_wb_list ;
1426 struct list_head i_lru ;
1427 struct list_head i_sb_list ;
1428 union __anonunion____missing_field_name_211 __annonCompField34 ;
1429 atomic_t i_count ;
1430 unsigned int i_blkbits ;
1431 u64 i_version ;
1432 atomic_t i_dio_count ;
1433 atomic_t i_writecount ;
1434 struct file_operations const *i_fop ;
1435 struct file_lock *i_flock ;
1436 struct address_space i_data ;
1437 struct dquot *i_dquot[2] ;
1438 struct list_head i_devices ;
1439 union __anonunion____missing_field_name_212 __annonCompField35 ;
1440 __u32 i_generation ;
1441 __u32 i_fsnotify_mask ;
1442 struct hlist_head i_fsnotify_marks ;
1443 atomic_t i_readcount ;
1444 void *i_private ;
1445};
1446#line 942 "include/linux/fs.h"
1447struct fown_struct {
1448 rwlock_t lock ;
1449 struct pid *pid ;
1450 enum pid_type pid_type ;
1451 uid_t uid ;
1452 uid_t euid ;
1453 int signum ;
1454};
1455#line 953 "include/linux/fs.h"
1456struct file_ra_state {
1457 unsigned long start ;
1458 unsigned int size ;
1459 unsigned int async_size ;
1460 unsigned int ra_pages ;
1461 unsigned int mmap_miss ;
1462 loff_t prev_pos ;
1463};
1464#line 976 "include/linux/fs.h"
1465union __anonunion_f_u_213 {
1466 struct list_head fu_list ;
1467 struct rcu_head fu_rcuhead ;
1468};
1469#line 976 "include/linux/fs.h"
1470struct file {
1471 union __anonunion_f_u_213 f_u ;
1472 struct path f_path ;
1473 struct file_operations const *f_op ;
1474 spinlock_t f_lock ;
1475 int f_sb_list_cpu ;
1476 atomic_long_t f_count ;
1477 unsigned int f_flags ;
1478 fmode_t f_mode ;
1479 loff_t f_pos ;
1480 struct fown_struct f_owner ;
1481 struct cred const *f_cred ;
1482 struct file_ra_state f_ra ;
1483 u64 f_version ;
1484 void *f_security ;
1485 void *private_data ;
1486 struct list_head f_ep_links ;
1487 struct list_head f_tfile_llink ;
1488 struct address_space *f_mapping ;
1489 unsigned long f_mnt_write_state ;
1490};
1491#line 1111
1492struct files_struct;
1493#line 1111 "include/linux/fs.h"
1494typedef struct files_struct *fl_owner_t;
1495#line 1113 "include/linux/fs.h"
1496struct file_lock_operations {
1497 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1498 void (*fl_release_private)(struct file_lock * ) ;
1499};
1500#line 1118 "include/linux/fs.h"
1501struct lock_manager_operations {
1502 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1503 void (*lm_notify)(struct file_lock * ) ;
1504 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1505 void (*lm_release_private)(struct file_lock * ) ;
1506 void (*lm_break)(struct file_lock * ) ;
1507 int (*lm_change)(struct file_lock ** , int ) ;
1508};
1509#line 4 "include/linux/nfs_fs_i.h"
1510struct nlm_lockowner;
1511#line 4
1512struct nlm_lockowner;
1513#line 9 "include/linux/nfs_fs_i.h"
1514struct nfs_lock_info {
1515 u32 state ;
1516 struct nlm_lockowner *owner ;
1517 struct list_head list ;
1518};
1519#line 15
1520struct nfs4_lock_state;
1521#line 15
1522struct nfs4_lock_state;
1523#line 16 "include/linux/nfs_fs_i.h"
1524struct nfs4_lock_info {
1525 struct nfs4_lock_state *owner ;
1526};
1527#line 1138 "include/linux/fs.h"
1528struct fasync_struct;
1529#line 1138 "include/linux/fs.h"
1530struct __anonstruct_afs_215 {
1531 struct list_head link ;
1532 int state ;
1533};
1534#line 1138 "include/linux/fs.h"
1535union __anonunion_fl_u_214 {
1536 struct nfs_lock_info nfs_fl ;
1537 struct nfs4_lock_info nfs4_fl ;
1538 struct __anonstruct_afs_215 afs ;
1539};
1540#line 1138 "include/linux/fs.h"
1541struct file_lock {
1542 struct file_lock *fl_next ;
1543 struct list_head fl_link ;
1544 struct list_head fl_block ;
1545 fl_owner_t fl_owner ;
1546 unsigned int fl_flags ;
1547 unsigned char fl_type ;
1548 unsigned int fl_pid ;
1549 struct pid *fl_nspid ;
1550 wait_queue_head_t fl_wait ;
1551 struct file *fl_file ;
1552 loff_t fl_start ;
1553 loff_t fl_end ;
1554 struct fasync_struct *fl_fasync ;
1555 unsigned long fl_break_time ;
1556 unsigned long fl_downgrade_time ;
1557 struct file_lock_operations const *fl_ops ;
1558 struct lock_manager_operations const *fl_lmops ;
1559 union __anonunion_fl_u_214 fl_u ;
1560};
1561#line 1378 "include/linux/fs.h"
1562struct fasync_struct {
1563 spinlock_t fa_lock ;
1564 int magic ;
1565 int fa_fd ;
1566 struct fasync_struct *fa_next ;
1567 struct file *fa_file ;
1568 struct rcu_head fa_rcu ;
1569};
1570#line 1418
1571struct file_system_type;
1572#line 1418
1573struct super_operations;
1574#line 1418
1575struct xattr_handler;
1576#line 1418
1577struct mtd_info;
1578#line 1418 "include/linux/fs.h"
1579struct super_block {
1580 struct list_head s_list ;
1581 dev_t s_dev ;
1582 unsigned char s_dirt ;
1583 unsigned char s_blocksize_bits ;
1584 unsigned long s_blocksize ;
1585 loff_t s_maxbytes ;
1586 struct file_system_type *s_type ;
1587 struct super_operations const *s_op ;
1588 struct dquot_operations const *dq_op ;
1589 struct quotactl_ops const *s_qcop ;
1590 struct export_operations const *s_export_op ;
1591 unsigned long s_flags ;
1592 unsigned long s_magic ;
1593 struct dentry *s_root ;
1594 struct rw_semaphore s_umount ;
1595 struct mutex s_lock ;
1596 int s_count ;
1597 atomic_t s_active ;
1598 void *s_security ;
1599 struct xattr_handler const **s_xattr ;
1600 struct list_head s_inodes ;
1601 struct hlist_bl_head s_anon ;
1602 struct list_head *s_files ;
1603 struct list_head s_mounts ;
1604 struct list_head s_dentry_lru ;
1605 int s_nr_dentry_unused ;
1606 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1607 struct list_head s_inode_lru ;
1608 int s_nr_inodes_unused ;
1609 struct block_device *s_bdev ;
1610 struct backing_dev_info *s_bdi ;
1611 struct mtd_info *s_mtd ;
1612 struct hlist_node s_instances ;
1613 struct quota_info s_dquot ;
1614 int s_frozen ;
1615 wait_queue_head_t s_wait_unfrozen ;
1616 char s_id[32] ;
1617 u8 s_uuid[16] ;
1618 void *s_fs_info ;
1619 unsigned int s_max_links ;
1620 fmode_t s_mode ;
1621 u32 s_time_gran ;
1622 struct mutex s_vfs_rename_mutex ;
1623 char *s_subtype ;
1624 char *s_options ;
1625 struct dentry_operations const *s_d_op ;
1626 int cleancache_poolid ;
1627 struct shrinker s_shrink ;
1628 atomic_long_t s_remove_count ;
1629 int s_readonly_remount ;
1630};
1631#line 1567 "include/linux/fs.h"
1632struct fiemap_extent_info {
1633 unsigned int fi_flags ;
1634 unsigned int fi_extents_mapped ;
1635 unsigned int fi_extents_max ;
1636 struct fiemap_extent *fi_extents_start ;
1637};
1638#line 1609 "include/linux/fs.h"
1639struct file_operations {
1640 struct module *owner ;
1641 loff_t (*llseek)(struct file * , loff_t , int ) ;
1642 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1643 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1644 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1645 loff_t ) ;
1646 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1647 loff_t ) ;
1648 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1649 loff_t , u64 , unsigned int ) ) ;
1650 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1651 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1652 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1653 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1654 int (*open)(struct inode * , struct file * ) ;
1655 int (*flush)(struct file * , fl_owner_t id ) ;
1656 int (*release)(struct inode * , struct file * ) ;
1657 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1658 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1659 int (*fasync)(int , struct file * , int ) ;
1660 int (*lock)(struct file * , int , struct file_lock * ) ;
1661 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1662 int ) ;
1663 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1664 unsigned long , unsigned long ) ;
1665 int (*check_flags)(int ) ;
1666 int (*flock)(struct file * , int , struct file_lock * ) ;
1667 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1668 unsigned int ) ;
1669 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1670 unsigned int ) ;
1671 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1672 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1673};
1674#line 1639 "include/linux/fs.h"
1675struct inode_operations {
1676 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1677 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1678 int (*permission)(struct inode * , int ) ;
1679 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1680 int (*readlink)(struct dentry * , char * , int ) ;
1681 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1682 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1683 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1684 int (*unlink)(struct inode * , struct dentry * ) ;
1685 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1686 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1687 int (*rmdir)(struct inode * , struct dentry * ) ;
1688 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1689 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1690 void (*truncate)(struct inode * ) ;
1691 int (*setattr)(struct dentry * , struct iattr * ) ;
1692 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1693 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1694 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1695 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1696 int (*removexattr)(struct dentry * , char const * ) ;
1697 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1698 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1699} __attribute__((__aligned__((1) << (6) ))) ;
1700#line 1669
1701struct seq_file;
1702#line 1684 "include/linux/fs.h"
1703struct super_operations {
1704 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1705 void (*destroy_inode)(struct inode * ) ;
1706 void (*dirty_inode)(struct inode * , int flags ) ;
1707 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1708 int (*drop_inode)(struct inode * ) ;
1709 void (*evict_inode)(struct inode * ) ;
1710 void (*put_super)(struct super_block * ) ;
1711 void (*write_super)(struct super_block * ) ;
1712 int (*sync_fs)(struct super_block *sb , int wait ) ;
1713 int (*freeze_fs)(struct super_block * ) ;
1714 int (*unfreeze_fs)(struct super_block * ) ;
1715 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1716 int (*remount_fs)(struct super_block * , int * , char * ) ;
1717 void (*umount_begin)(struct super_block * ) ;
1718 int (*show_options)(struct seq_file * , struct dentry * ) ;
1719 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1720 int (*show_path)(struct seq_file * , struct dentry * ) ;
1721 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1722 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1723 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1724 loff_t ) ;
1725 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1726 int (*nr_cached_objects)(struct super_block * ) ;
1727 void (*free_cached_objects)(struct super_block * , int ) ;
1728};
1729#line 1835 "include/linux/fs.h"
1730struct file_system_type {
1731 char const *name ;
1732 int fs_flags ;
1733 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1734 void (*kill_sb)(struct super_block * ) ;
1735 struct module *owner ;
1736 struct file_system_type *next ;
1737 struct hlist_head fs_supers ;
1738 struct lock_class_key s_lock_key ;
1739 struct lock_class_key s_umount_key ;
1740 struct lock_class_key s_vfs_rename_key ;
1741 struct lock_class_key i_lock_key ;
1742 struct lock_class_key i_mutex_key ;
1743 struct lock_class_key i_mutex_dir_key ;
1744};
1745#line 2648
1746struct ctl_table;
1747#line 11 "include/linux/proc_fs.h"
1748struct completion;
1749#line 117
1750struct pid_namespace;
1751#line 243
1752struct nsproxy;
1753#line 263
1754struct ctl_table_header;
1755#line 264
1756struct ctl_table;
1757#line 78 "include/linux/ipmi.h"
1758struct ipmi_addr {
1759 int addr_type ;
1760 short channel ;
1761 char data[32] ;
1762};
1763#line 92 "include/linux/ipmi.h"
1764struct ipmi_system_interface_addr {
1765 int addr_type ;
1766 short channel ;
1767 unsigned char lun ;
1768};
1769#line 103 "include/linux/ipmi.h"
1770struct ipmi_ipmb_addr {
1771 int addr_type ;
1772 short channel ;
1773 unsigned char slave_addr ;
1774 unsigned char lun ;
1775};
1776#line 168 "include/linux/ipmi.h"
1777struct kernel_ipmi_msg {
1778 unsigned char netfn ;
1779 unsigned char cmd ;
1780 unsigned short data_len ;
1781 unsigned char *data ;
1782};
1783#line 225
1784struct module;
1785#line 226
1786struct device;
1787#line 230
1788struct ipmi_user;
1789#line 230 "include/linux/ipmi.h"
1790typedef struct ipmi_user *ipmi_user_t;
1791#line 239 "include/linux/ipmi.h"
1792struct ipmi_recv_msg {
1793 struct list_head link ;
1794 int recv_type ;
1795 ipmi_user_t user ;
1796 struct ipmi_addr addr ;
1797 long msgid ;
1798 struct kernel_ipmi_msg msg ;
1799 void *user_msg_data ;
1800 void (*done)(struct ipmi_recv_msg *msg ) ;
1801 unsigned char msg_data[272] ;
1802};
1803#line 270 "include/linux/ipmi.h"
1804struct ipmi_user_hndl {
1805 void (*ipmi_recv_hndl)(struct ipmi_recv_msg *msg , void *user_msg_data ) ;
1806 void (*ipmi_watchdog_pretimeout)(void *handler_data ) ;
1807};
1808#line 431 "include/linux/ipmi.h"
1809struct ipmi_smi_watcher {
1810 struct list_head link ;
1811 struct module *owner ;
1812 void (*new_smi)(int if_num , struct device *dev ) ;
1813 void (*smi_gone)(int if_num ) ;
1814};
1815#line 19 "include/linux/klist.h"
1816struct klist_node;
1817#line 19
1818struct klist_node;
1819#line 39 "include/linux/klist.h"
1820struct klist_node {
1821 void *n_klist ;
1822 struct list_head n_node ;
1823 struct kref n_ref ;
1824};
1825#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1826struct dma_map_ops;
1827#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1828struct dev_archdata {
1829 void *acpi_handle ;
1830 struct dma_map_ops *dma_ops ;
1831 void *iommu ;
1832};
1833#line 28 "include/linux/device.h"
1834struct device;
1835#line 29
1836struct device_private;
1837#line 29
1838struct device_private;
1839#line 30
1840struct device_driver;
1841#line 30
1842struct device_driver;
1843#line 31
1844struct driver_private;
1845#line 31
1846struct driver_private;
1847#line 32
1848struct module;
1849#line 33
1850struct class;
1851#line 33
1852struct class;
1853#line 34
1854struct subsys_private;
1855#line 34
1856struct subsys_private;
1857#line 35
1858struct bus_type;
1859#line 35
1860struct bus_type;
1861#line 36
1862struct device_node;
1863#line 36
1864struct device_node;
1865#line 37
1866struct iommu_ops;
1867#line 37
1868struct iommu_ops;
1869#line 39 "include/linux/device.h"
1870struct bus_attribute {
1871 struct attribute attr ;
1872 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1873 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1874};
1875#line 89
1876struct device_attribute;
1877#line 89
1878struct driver_attribute;
1879#line 89 "include/linux/device.h"
1880struct bus_type {
1881 char const *name ;
1882 char const *dev_name ;
1883 struct device *dev_root ;
1884 struct bus_attribute *bus_attrs ;
1885 struct device_attribute *dev_attrs ;
1886 struct driver_attribute *drv_attrs ;
1887 int (*match)(struct device *dev , struct device_driver *drv ) ;
1888 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1889 int (*probe)(struct device *dev ) ;
1890 int (*remove)(struct device *dev ) ;
1891 void (*shutdown)(struct device *dev ) ;
1892 int (*suspend)(struct device *dev , pm_message_t state ) ;
1893 int (*resume)(struct device *dev ) ;
1894 struct dev_pm_ops const *pm ;
1895 struct iommu_ops *iommu_ops ;
1896 struct subsys_private *p ;
1897};
1898#line 127
1899struct device_type;
1900#line 214
1901struct of_device_id;
1902#line 214 "include/linux/device.h"
1903struct device_driver {
1904 char const *name ;
1905 struct bus_type *bus ;
1906 struct module *owner ;
1907 char const *mod_name ;
1908 bool suppress_bind_attrs ;
1909 struct of_device_id const *of_match_table ;
1910 int (*probe)(struct device *dev ) ;
1911 int (*remove)(struct device *dev ) ;
1912 void (*shutdown)(struct device *dev ) ;
1913 int (*suspend)(struct device *dev , pm_message_t state ) ;
1914 int (*resume)(struct device *dev ) ;
1915 struct attribute_group const **groups ;
1916 struct dev_pm_ops const *pm ;
1917 struct driver_private *p ;
1918};
1919#line 249 "include/linux/device.h"
1920struct driver_attribute {
1921 struct attribute attr ;
1922 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1923 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1924};
1925#line 330
1926struct class_attribute;
1927#line 330 "include/linux/device.h"
1928struct class {
1929 char const *name ;
1930 struct module *owner ;
1931 struct class_attribute *class_attrs ;
1932 struct device_attribute *dev_attrs ;
1933 struct bin_attribute *dev_bin_attrs ;
1934 struct kobject *dev_kobj ;
1935 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1936 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1937 void (*class_release)(struct class *class ) ;
1938 void (*dev_release)(struct device *dev ) ;
1939 int (*suspend)(struct device *dev , pm_message_t state ) ;
1940 int (*resume)(struct device *dev ) ;
1941 struct kobj_ns_type_operations const *ns_type ;
1942 void const *(*namespace)(struct device *dev ) ;
1943 struct dev_pm_ops const *pm ;
1944 struct subsys_private *p ;
1945};
1946#line 397 "include/linux/device.h"
1947struct class_attribute {
1948 struct attribute attr ;
1949 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1950 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1951 size_t count ) ;
1952 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1953};
1954#line 465 "include/linux/device.h"
1955struct device_type {
1956 char const *name ;
1957 struct attribute_group const **groups ;
1958 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1959 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1960 void (*release)(struct device *dev ) ;
1961 struct dev_pm_ops const *pm ;
1962};
1963#line 476 "include/linux/device.h"
1964struct device_attribute {
1965 struct attribute attr ;
1966 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1967 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1968 size_t count ) ;
1969};
1970#line 559 "include/linux/device.h"
1971struct device_dma_parameters {
1972 unsigned int max_segment_size ;
1973 unsigned long segment_boundary_mask ;
1974};
1975#line 627
1976struct dma_coherent_mem;
1977#line 627 "include/linux/device.h"
1978struct device {
1979 struct device *parent ;
1980 struct device_private *p ;
1981 struct kobject kobj ;
1982 char const *init_name ;
1983 struct device_type const *type ;
1984 struct mutex mutex ;
1985 struct bus_type *bus ;
1986 struct device_driver *driver ;
1987 void *platform_data ;
1988 struct dev_pm_info power ;
1989 struct dev_pm_domain *pm_domain ;
1990 int numa_node ;
1991 u64 *dma_mask ;
1992 u64 coherent_dma_mask ;
1993 struct device_dma_parameters *dma_parms ;
1994 struct list_head dma_pools ;
1995 struct dma_coherent_mem *dma_mem ;
1996 struct dev_archdata archdata ;
1997 struct device_node *of_node ;
1998 dev_t devt ;
1999 u32 id ;
2000 spinlock_t devres_lock ;
2001 struct list_head devres_head ;
2002 struct klist_node knode_class ;
2003 struct class *class ;
2004 struct attribute_group const **groups ;
2005 void (*release)(struct device *dev ) ;
2006};
2007#line 43 "include/linux/pm_wakeup.h"
2008struct wakeup_source {
2009 char const *name ;
2010 struct list_head entry ;
2011 spinlock_t lock ;
2012 struct timer_list timer ;
2013 unsigned long timer_expires ;
2014 ktime_t total_time ;
2015 ktime_t max_time ;
2016 ktime_t last_time ;
2017 unsigned long event_count ;
2018 unsigned long active_count ;
2019 unsigned long relax_count ;
2020 unsigned long hit_count ;
2021 unsigned int active : 1 ;
2022};
2023#line 219 "include/linux/mod_devicetable.h"
2024struct of_device_id {
2025 char name[32] ;
2026 char type[32] ;
2027 char compatible[128] ;
2028 void *data ;
2029};
2030#line 42 "include/linux/ipmi_smi.h"
2031struct device;
2032#line 63 "include/linux/ipmi_smi.h"
2033struct ipmi_smi_msg {
2034 struct list_head link ;
2035 long msgid ;
2036 void *user_data ;
2037 int data_size ;
2038 unsigned char data[272] ;
2039 int rsp_size ;
2040 unsigned char rsp[272] ;
2041 void (*done)(struct ipmi_smi_msg *msg ) ;
2042};
2043#line 521 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2044struct poweroff_function {
2045 char *platform_type ;
2046 int (*detect)(ipmi_user_t user ) ;
2047 void (*poweroff_func)(ipmi_user_t user ) ;
2048};
2049#line 1 "<compiler builtins>"
2050long __builtin_expect(long val , long res ) ;
2051#line 100 "include/linux/printk.h"
2052extern int ( printk)(char const *fmt , ...) ;
2053#line 60 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2054extern int memcmp(void const *cs , void const *ct , unsigned long count ) ;
2055#line 651 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
2056__inline static void rep_nop(void) __attribute__((__no_instrument_function__)) ;
2057#line 651 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
2058__inline static void rep_nop(void)
2059{
2060
2061 {
2062#line 653
2063 __asm__ volatile ("rep; nop": : : "memory");
2064#line 654
2065 return;
2066}
2067}
2068#line 656
2069__inline static void cpu_relax(void) __attribute__((__no_instrument_function__)) ;
2070#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
2071__inline static void cpu_relax(void)
2072{
2073
2074 {
2075 {
2076#line 658
2077 rep_nop();
2078 }
2079#line 659
2080 return;
2081}
2082}
2083#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
2084__inline static int atomic_read(atomic_t const *v ) __attribute__((__no_instrument_function__)) ;
2085#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
2086__inline static int atomic_read(atomic_t const *v )
2087{ int const *__cil_tmp2 ;
2088 int volatile *__cil_tmp3 ;
2089 int volatile __cil_tmp4 ;
2090
2091 {
2092 {
2093#line 25
2094 __cil_tmp2 = (int const *)v;
2095#line 25
2096 __cil_tmp3 = (int volatile *)__cil_tmp2;
2097#line 25
2098 __cil_tmp4 = *__cil_tmp3;
2099#line 25
2100 return ((int )__cil_tmp4);
2101 }
2102}
2103}
2104#line 35
2105__inline static void atomic_set(atomic_t *v , int i ) __attribute__((__no_instrument_function__)) ;
2106#line 35 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
2107__inline static void atomic_set(atomic_t *v , int i )
2108{
2109
2110 {
2111#line 37
2112 *((int *)v) = i;
2113#line 38
2114 return;
2115}
2116}
2117#line 105
2118__inline static void atomic_dec(atomic_t *v ) __attribute__((__no_instrument_function__)) ;
2119#line 105 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
2120__inline static void atomic_dec(atomic_t *v )
2121{
2122
2123 {
2124#line 107
2125 __asm__ volatile (".section .smp_locks,\"a\"\n"
2126 ".balign 4\n"
2127 ".long 671f - .\n"
2128 ".previous\n"
2129 "671:"
2130 "\n\tlock; "
2131 "decl %0": "+m" (*((int *)v)));
2132#line 109
2133 return;
2134}
2135}
2136#line 79 "include/linux/wait.h"
2137extern void __init_waitqueue_head(wait_queue_head_t *q , char const *name , struct lock_class_key * ) ;
2138#line 152 "include/linux/mutex.h"
2139void mutex_lock(struct mutex *lock ) ;
2140#line 153
2141int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2142#line 154
2143int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2144#line 168
2145int mutex_trylock(struct mutex *lock ) ;
2146#line 169
2147void mutex_unlock(struct mutex *lock ) ;
2148#line 170
2149int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2150#line 76 "include/linux/completion.h"
2151static struct lock_class_key __key ;
2152#line 73
2153__inline static void init_completion(struct completion *x ) __attribute__((__no_instrument_function__)) ;
2154#line 73 "include/linux/completion.h"
2155__inline static void init_completion(struct completion *x )
2156{ unsigned long __cil_tmp2 ;
2157 unsigned long __cil_tmp3 ;
2158 wait_queue_head_t *__cil_tmp4 ;
2159
2160 {
2161#line 75
2162 *((unsigned int *)x) = 0U;
2163 {
2164#line 76
2165 while (1) {
2166 while_continue: ;
2167 {
2168#line 76
2169 __cil_tmp2 = (unsigned long )x;
2170#line 76
2171 __cil_tmp3 = __cil_tmp2 + 8;
2172#line 76
2173 __cil_tmp4 = (wait_queue_head_t *)__cil_tmp3;
2174#line 76
2175 __init_waitqueue_head(__cil_tmp4, "&x->wait", & __key);
2176 }
2177#line 76
2178 goto while_break;
2179 }
2180 while_break: ;
2181 }
2182#line 77
2183 return;
2184}
2185}
2186#line 79
2187extern void wait_for_completion(struct completion * ) ;
2188#line 91
2189extern void complete(struct completion * ) ;
2190#line 35 "include/linux/pm.h"
2191extern void (*pm_power_off)(void) ;
2192#line 951 "include/linux/sysctl.h"
2193extern int proc_dointvec(struct ctl_table * , int , void * , size_t * , loff_t * ) ;
2194#line 1094
2195extern struct ctl_table_header *register_sysctl_table(struct ctl_table *table ) ;
2196#line 1098
2197extern void unregister_sysctl_table(struct ctl_table_header *table ) ;
2198#line 356 "include/linux/moduleparam.h"
2199extern struct kernel_param_ops param_ops_int ;
2200#line 357
2201extern int param_set_int(char const *val , struct kernel_param const *kp ) ;
2202#line 358
2203extern int param_get_int(char *buffer , struct kernel_param const *kp ) ;
2204#line 26 "include/linux/export.h"
2205extern struct module __this_module ;
2206#line 67 "include/linux/module.h"
2207int init_module(void) ;
2208#line 68
2209void cleanup_module(void) ;
2210#line 285 "include/linux/ipmi.h"
2211extern int ipmi_create_user(unsigned int if_num , struct ipmi_user_hndl *handler ,
2212 void *handler_data , ipmi_user_t *user ) ;
2213#line 296
2214extern int ipmi_destroy_user(ipmi_user_t user ) ;
2215#line 353
2216extern int ipmi_request_supply_msgs(ipmi_user_t user , struct ipmi_addr *addr , long msgid ,
2217 struct kernel_ipmi_msg *msg , void *user_msg_data ,
2218 void *supplied_smi , struct ipmi_recv_msg *supplied_recv ,
2219 int priority ) ;
2220#line 369
2221extern void ipmi_poll_interface(ipmi_user_t user ) ;
2222#line 446
2223extern int ipmi_smi_watcher_register(struct ipmi_smi_watcher *watcher ) ;
2224#line 447
2225extern int ipmi_smi_watcher_unregister(struct ipmi_smi_watcher *watcher ) ;
2226#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2227static void ipmi_po_smi_gone(int if_num ) ;
2228#line 48
2229static void ipmi_po_new_smi(int if_num , struct device *device ) ;
2230#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2231static int poweroff_powercycle ;
2232#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2233static int ifnum_to_use = -1;
2234#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2235static int ready ;
2236#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2237static ipmi_user_t ipmi_user ;
2238#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2239static int ipmi_ifnum ;
2240#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2241static void (*specific_poweroff_func)(ipmi_user_t user ) ;
2242#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2243static void (*old_poweroff_func)(void) ;
2244#line 70 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2245static int set_param_ifnum(char const *val , struct kernel_param *kp )
2246{ int rv ;
2247 int tmp ;
2248 struct kernel_param const *__cil_tmp5 ;
2249 int *__cil_tmp6 ;
2250 int __cil_tmp7 ;
2251 int *__cil_tmp8 ;
2252 int __cil_tmp9 ;
2253 int *__cil_tmp10 ;
2254 int __cil_tmp11 ;
2255 void *__cil_tmp12 ;
2256 struct device *__cil_tmp13 ;
2257
2258 {
2259 {
2260#line 72
2261 __cil_tmp5 = (struct kernel_param const *)kp;
2262#line 72
2263 tmp = param_set_int(val, __cil_tmp5);
2264#line 72
2265 rv = tmp;
2266 }
2267#line 73
2268 if (rv) {
2269#line 74
2270 return (rv);
2271 } else {
2272
2273 }
2274 {
2275#line 75
2276 __cil_tmp6 = & ifnum_to_use;
2277#line 75
2278 __cil_tmp7 = *__cil_tmp6;
2279#line 75
2280 if (__cil_tmp7 < 0) {
2281#line 76
2282 return (0);
2283 } else {
2284 {
2285#line 75
2286 __cil_tmp8 = & ifnum_to_use;
2287#line 75
2288 __cil_tmp9 = *__cil_tmp8;
2289#line 75
2290 if (__cil_tmp9 == ipmi_ifnum) {
2291#line 76
2292 return (0);
2293 } else {
2294
2295 }
2296 }
2297 }
2298 }
2299 {
2300#line 78
2301 ipmi_po_smi_gone(ipmi_ifnum);
2302#line 79
2303 __cil_tmp10 = & ifnum_to_use;
2304#line 79
2305 __cil_tmp11 = *__cil_tmp10;
2306#line 79
2307 __cil_tmp12 = (void *)0;
2308#line 79
2309 __cil_tmp13 = (struct device *)__cil_tmp12;
2310#line 79
2311 ipmi_po_new_smi(__cil_tmp11, __cil_tmp13);
2312 }
2313#line 80
2314 return (0);
2315}
2316}
2317#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2318static struct kernel_param_ops __param_ops_ifnum_to_use = {(int (*)(char const *val , struct kernel_param const *kp ))((void *)(& set_param_ifnum)),
2319 (int (*)(char *buffer , struct kernel_param const *kp ))((void *)(& param_get_int)),
2320 (void (*)(void *arg ))0};
2321#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2322static char const __param_str_ifnum_to_use[13] =
2323#line 83
2324 { (char const )'i', (char const )'f', (char const )'n', (char const )'u',
2325 (char const )'m', (char const )'_', (char const )'t', (char const )'o',
2326 (char const )'_', (char const )'u', (char const )'s', (char const )'e',
2327 (char const )'\000'};
2328#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2329static struct kernel_param const __param_ifnum_to_use __attribute__((__used__,
2330__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_ifnum_to_use, (struct kernel_param_ops const *)(& __param_ops_ifnum_to_use),
2331 (u16 )420UL, (s16 )0, {(void *)(& ifnum_to_use)}};
2332#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2333static char const __mod_ifnum_to_use87[128] __attribute__((__used__, __unused__,
2334__section__(".modinfo"), __aligned__(1))) =
2335#line 85
2336 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
2337 (char const )'=', (char const )'i', (char const )'f', (char const )'n',
2338 (char const )'u', (char const )'m', (char const )'_', (char const )'t',
2339 (char const )'o', (char const )'_', (char const )'u', (char const )'s',
2340 (char const )'e', (char const )':', (char const )'T', (char const )'h',
2341 (char const )'e', (char const )' ', (char const )'i', (char const )'n',
2342 (char const )'t', (char const )'e', (char const )'r', (char const )'f',
2343 (char const )'a', (char const )'c', (char const )'e', (char const )' ',
2344 (char const )'n', (char const )'u', (char const )'m', (char const )'b',
2345 (char const )'e', (char const )'r', (char const )' ', (char const )'t',
2346 (char const )'o', (char const )' ', (char const )'u', (char const )'s',
2347 (char const )'e', (char const )' ', (char const )'f', (char const )'o',
2348 (char const )'r', (char const )' ', (char const )'t', (char const )'h',
2349 (char const )'e', (char const )' ', (char const )'w', (char const )'a',
2350 (char const )'t', (char const )'c', (char const )'h', (char const )'d',
2351 (char const )'o', (char const )'g', (char const )' ', (char const )'t',
2352 (char const )'i', (char const )'m', (char const )'e', (char const )'r',
2353 (char const )'.', (char const )' ', (char const )' ', (char const )'S',
2354 (char const )'e', (char const )'t', (char const )'t', (char const )'i',
2355 (char const )'n', (char const )'g', (char const )' ', (char const )'t',
2356 (char const )'o', (char const )' ', (char const )'-', (char const )'1',
2357 (char const )' ', (char const )'d', (char const )'e', (char const )'f',
2358 (char const )'a', (char const )'u', (char const )'l', (char const )'t',
2359 (char const )'s', (char const )' ', (char const )'t', (char const )'o',
2360 (char const )' ', (char const )'t', (char const )'h', (char const )'e',
2361 (char const )' ', (char const )'f', (char const )'i', (char const )'r',
2362 (char const )'s', (char const )'t', (char const )' ', (char const )'r',
2363 (char const )'e', (char const )'g', (char const )'i', (char const )'s',
2364 (char const )'t', (char const )'e', (char const )'r', (char const )'e',
2365 (char const )'d', (char const )' ', (char const )'i', (char const )'n',
2366 (char const )'t', (char const )'e', (char const )'r', (char const )'f',
2367 (char const )'a', (char const )'c', (char const )'e', (char const )'\000'};
2368#line 90 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2369static char const __param_str_poweroff_powercycle[20] =
2370#line 90
2371 { (char const )'p', (char const )'o', (char const )'w', (char const )'e',
2372 (char const )'r', (char const )'o', (char const )'f', (char const )'f',
2373 (char const )'_', (char const )'p', (char const )'o', (char const )'w',
2374 (char const )'e', (char const )'r', (char const )'c', (char const )'y',
2375 (char const )'c', (char const )'l', (char const )'e', (char const )'\000'};
2376#line 90 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2377static struct kernel_param const __param_poweroff_powercycle __attribute__((__used__,
2378__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_poweroff_powercycle, (struct kernel_param_ops const *)(& param_ops_int),
2379 (u16 )420, (s16 )0, {(void *)(& poweroff_powercycle)}};
2380#line 90 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2381static char const __mod_poweroff_powercycletype90[33] __attribute__((__used__,
2382__unused__, __section__(".modinfo"), __aligned__(1))) =
2383#line 90
2384 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
2385 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
2386 (char const )'=', (char const )'p', (char const )'o', (char const )'w',
2387 (char const )'e', (char const )'r', (char const )'o', (char const )'f',
2388 (char const )'f', (char const )'_', (char const )'p', (char const )'o',
2389 (char const )'w', (char const )'e', (char const )'r', (char const )'c',
2390 (char const )'y', (char const )'c', (char const )'l', (char const )'e',
2391 (char const )':', (char const )'i', (char const )'n', (char const )'t',
2392 (char const )'\000'};
2393#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2394static char const __mod_poweroff_powercycle94[176] __attribute__((__used__, __unused__,
2395__section__(".modinfo"), __aligned__(1))) =
2396#line 91
2397 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
2398 (char const )'=', (char const )'p', (char const )'o', (char const )'w',
2399 (char const )'e', (char const )'r', (char const )'o', (char const )'f',
2400 (char const )'f', (char const )'_', (char const )'p', (char const )'o',
2401 (char const )'w', (char const )'e', (char const )'r', (char const )'c',
2402 (char const )'y', (char const )'c', (char const )'l', (char const )'e',
2403 (char const )':', (char const )' ', (char const )'S', (char const )'e',
2404 (char const )'t', (char const )' ', (char const )'t', (char const )'o',
2405 (char const )' ', (char const )'n', (char const )'o', (char const )'n',
2406 (char const )'-', (char const )'z', (char const )'e', (char const )'r',
2407 (char const )'o', (char const )' ', (char const )'t', (char const )'o',
2408 (char const )' ', (char const )'e', (char const )'n', (char const )'a',
2409 (char const )'b', (char const )'l', (char const )'e', (char const )' ',
2410 (char const )'p', (char const )'o', (char const )'w', (char const )'e',
2411 (char const )'r', (char const )' ', (char const )'c', (char const )'y',
2412 (char const )'c', (char const )'l', (char const )'e', (char const )' ',
2413 (char const )'i', (char const )'n', (char const )'s', (char const )'t',
2414 (char const )'e', (char const )'a', (char const )'d', (char const )' ',
2415 (char const )'o', (char const )'f', (char const )' ', (char const )'p',
2416 (char const )'o', (char const )'w', (char const )'e', (char const )'r',
2417 (char const )' ', (char const )'d', (char const )'o', (char const )'w',
2418 (char const )'n', (char const )'.', (char const )' ', (char const )'P',
2419 (char const )'o', (char const )'w', (char const )'e', (char const )'r',
2420 (char const )' ', (char const )'c', (char const )'y', (char const )'c',
2421 (char const )'l', (char const )'e', (char const )' ', (char const )'i',
2422 (char const )'s', (char const )' ', (char const )'c', (char const )'o',
2423 (char const )'n', (char const )'t', (char const )'i', (char const )'n',
2424 (char const )'g', (char const )'e', (char const )'n', (char const )'t',
2425 (char const )' ', (char const )'o', (char const )'n', (char const )' ',
2426 (char const )'h', (char const )'a', (char const )'r', (char const )'d',
2427 (char const )'w', (char const )'a', (char const )'r', (char const )'e',
2428 (char const )' ', (char const )'s', (char const )'u', (char const )'p',
2429 (char const )'p', (char const )'o', (char const )'r', (char const )'t',
2430 (char const )',', (char const )' ', (char const )'o', (char const )'t',
2431 (char const )'h', (char const )'e', (char const )'r', (char const )'w',
2432 (char const )'i', (char const )'s', (char const )'e', (char const )' ',
2433 (char const )'i', (char const )'t', (char const )' ', (char const )'d',
2434 (char const )'e', (char const )'f', (char const )'a', (char const )'u',
2435 (char const )'l', (char const )'t', (char const )'s', (char const )' ',
2436 (char const )'b', (char const )'a', (char const )'c', (char const )'k',
2437 (char const )' ', (char const )'t', (char const )'o', (char const )' ',
2438 (char const )'p', (char const )'o', (char const )'w', (char const )'e',
2439 (char const )'r', (char const )' ', (char const )'d', (char const )'o',
2440 (char const )'w', (char const )'n', (char const )'.', (char const )'\000'};
2441#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2442static unsigned int mfg_id ;
2443#line 98 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2444static unsigned int prod_id ;
2445#line 99 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2446static unsigned char capabilities ;
2447#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2448static unsigned char ipmi_version ;
2449#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2450static atomic_t dummy_count = {0};
2451#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2452static void dummy_smi_free(struct ipmi_smi_msg *msg )
2453{
2454
2455 {
2456 {
2457#line 111
2458 atomic_dec(& dummy_count);
2459 }
2460#line 112
2461 return;
2462}
2463}
2464#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2465static void dummy_recv_free(struct ipmi_recv_msg *msg )
2466{
2467
2468 {
2469 {
2470#line 115
2471 atomic_dec(& dummy_count);
2472 }
2473#line 116
2474 return;
2475}
2476}
2477#line 117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2478static struct ipmi_smi_msg halt_smi_msg =
2479#line 117
2480 {{(struct list_head *)0, (struct list_head *)0}, 0L, (void *)0, 0, {(unsigned char)0,
2481 (unsigned char)0,
2482 (unsigned char)0,
2483 (unsigned char)0,
2484 (unsigned char)0,
2485 (unsigned char)0,
2486 (unsigned char)0,
2487 (unsigned char)0,
2488 (unsigned char)0,
2489 (unsigned char)0,
2490 (unsigned char)0,
2491 (unsigned char)0,
2492 (unsigned char)0,
2493 (unsigned char)0,
2494 (unsigned char)0,
2495 (unsigned char)0,
2496 (unsigned char)0,
2497 (unsigned char)0,
2498 (unsigned char)0,
2499 (unsigned char)0,
2500 (unsigned char)0,
2501 (unsigned char)0,
2502 (unsigned char)0,
2503 (unsigned char)0,
2504 (unsigned char)0,
2505 (unsigned char)0,
2506 (unsigned char)0,
2507 (unsigned char)0,
2508 (unsigned char)0,
2509 (unsigned char)0,
2510 (unsigned char)0,
2511 (unsigned char)0,
2512 (unsigned char)0,
2513 (unsigned char)0,
2514 (unsigned char)0,
2515 (unsigned char)0,
2516 (unsigned char)0,
2517 (unsigned char)0,
2518 (unsigned char)0,
2519 (unsigned char)0,
2520 (unsigned char)0,
2521 (unsigned char)0,
2522 (unsigned char)0,
2523 (unsigned char)0,
2524 (unsigned char)0,
2525 (unsigned char)0,
2526 (unsigned char)0,
2527 (unsigned char)0,
2528 (unsigned char)0,
2529 (unsigned char)0,
2530 (unsigned char)0,
2531 (unsigned char)0,
2532 (unsigned char)0,
2533 (unsigned char)0,
2534 (unsigned char)0,
2535 (unsigned char)0,
2536 (unsigned char)0,
2537 (unsigned char)0,
2538 (unsigned char)0,
2539 (unsigned char)0,
2540 (unsigned char)0,
2541 (unsigned char)0,
2542 (unsigned char)0,
2543 (unsigned char)0,
2544 (unsigned char)0,
2545 (unsigned char)0,
2546 (unsigned char)0,
2547 (unsigned char)0,
2548 (unsigned char)0,
2549 (unsigned char)0,
2550 (unsigned char)0,
2551 (unsigned char)0,
2552 (unsigned char)0,
2553 (unsigned char)0,
2554 (unsigned char)0,
2555 (unsigned char)0,
2556 (unsigned char)0,
2557 (unsigned char)0,
2558 (unsigned char)0,
2559 (unsigned char)0,
2560 (unsigned char)0,
2561 (unsigned char)0,
2562 (unsigned char)0,
2563 (unsigned char)0,
2564 (unsigned char)0,
2565 (unsigned char)0,
2566 (unsigned char)0,
2567 (unsigned char)0,
2568 (unsigned char)0,
2569 (unsigned char)0,
2570 (unsigned char)0,
2571 (unsigned char)0,
2572 (unsigned char)0,
2573 (unsigned char)0,
2574 (unsigned char)0,
2575 (unsigned char)0,
2576 (unsigned char)0,
2577 (unsigned char)0,
2578 (unsigned char)0,
2579 (unsigned char)0,
2580 (unsigned char)0,
2581 (unsigned char)0,
2582 (unsigned char)0,
2583 (unsigned char)0,
2584 (unsigned char)0,
2585 (unsigned char)0,
2586 (unsigned char)0,
2587 (unsigned char)0,
2588 (unsigned char)0,
2589 (unsigned char)0,
2590 (unsigned char)0,
2591 (unsigned char)0,
2592 (unsigned char)0,
2593 (unsigned char)0,
2594 (unsigned char)0,
2595 (unsigned char)0,
2596 (unsigned char)0,
2597 (unsigned char)0,
2598 (unsigned char)0,
2599 (unsigned char)0,
2600 (unsigned char)0,
2601 (unsigned char)0,
2602 (unsigned char)0,
2603 (unsigned char)0,
2604 (unsigned char)0,
2605 (unsigned char)0,
2606 (unsigned char)0,
2607 (unsigned char)0,
2608 (unsigned char)0,
2609 (unsigned char)0,
2610 (unsigned char)0,
2611 (unsigned char)0,
2612 (unsigned char)0,
2613 (unsigned char)0,
2614 (unsigned char)0,
2615 (unsigned char)0,
2616 (unsigned char)0,
2617 (unsigned char)0,
2618 (unsigned char)0,
2619 (unsigned char)0,
2620 (unsigned char)0,
2621 (unsigned char)0,
2622 (unsigned char)0,
2623 (unsigned char)0,
2624 (unsigned char)0,
2625 (unsigned char)0,
2626 (unsigned char)0,
2627 (unsigned char)0,
2628 (unsigned char)0,
2629 (unsigned char)0,
2630 (unsigned char)0,
2631 (unsigned char)0,
2632 (unsigned char)0,
2633 (unsigned char)0,
2634 (unsigned char)0,
2635 (unsigned char)0,
2636 (unsigned char)0,
2637 (unsigned char)0,
2638 (unsigned char)0,
2639 (unsigned char)0,
2640 (unsigned char)0,
2641 (unsigned char)0,
2642 (unsigned char)0,
2643 (unsigned char)0,
2644 (unsigned char)0,
2645 (unsigned char)0,
2646 (unsigned char)0,
2647 (unsigned char)0,
2648 (unsigned char)0,
2649 (unsigned char)0,
2650 (unsigned char)0,
2651 (unsigned char)0,
2652 (unsigned char)0,
2653 (unsigned char)0,
2654 (unsigned char)0,
2655 (unsigned char)0,
2656 (unsigned char)0,
2657 (unsigned char)0,
2658 (unsigned char)0,
2659 (unsigned char)0,
2660 (unsigned char)0,
2661 (unsigned char)0,
2662 (unsigned char)0,
2663 (unsigned char)0,
2664 (unsigned char)0,
2665 (unsigned char)0,
2666 (unsigned char)0,
2667 (unsigned char)0,
2668 (unsigned char)0,
2669 (unsigned char)0,
2670 (unsigned char)0,
2671 (unsigned char)0,
2672 (unsigned char)0,
2673 (unsigned char)0,
2674 (unsigned char)0,
2675 (unsigned char)0,
2676 (unsigned char)0,
2677 (unsigned char)0,
2678 (unsigned char)0,
2679 (unsigned char)0,
2680 (unsigned char)0,
2681 (unsigned char)0,
2682 (unsigned char)0,
2683 (unsigned char)0,
2684 (unsigned char)0,
2685 (unsigned char)0,
2686 (unsigned char)0,
2687 (unsigned char)0,
2688 (unsigned char)0,
2689 (unsigned char)0,
2690 (unsigned char)0,
2691 (unsigned char)0,
2692 (unsigned char)0,
2693 (unsigned char)0,
2694 (unsigned char)0,
2695 (unsigned char)0,
2696 (unsigned char)0,
2697 (unsigned char)0,
2698 (unsigned char)0,
2699 (unsigned char)0,
2700 (unsigned char)0,
2701 (unsigned char)0,
2702 (unsigned char)0,
2703 (unsigned char)0,
2704 (unsigned char)0,
2705 (unsigned char)0,
2706 (unsigned char)0,
2707 (unsigned char)0,
2708 (unsigned char)0,
2709 (unsigned char)0,
2710 (unsigned char)0,
2711 (unsigned char)0,
2712 (unsigned char)0,
2713 (unsigned char)0,
2714 (unsigned char)0,
2715 (unsigned char)0,
2716 (unsigned char)0,
2717 (unsigned char)0,
2718 (unsigned char)0,
2719 (unsigned char)0,
2720 (unsigned char)0,
2721 (unsigned char)0,
2722 (unsigned char)0,
2723 (unsigned char)0,
2724 (unsigned char)0,
2725 (unsigned char)0,
2726 (unsigned char)0,
2727 (unsigned char)0,
2728 (unsigned char)0,
2729 (unsigned char)0,
2730 (unsigned char)0,
2731 (unsigned char)0,
2732 (unsigned char)0,
2733 (unsigned char)0,
2734 (unsigned char)0,
2735 (unsigned char)0,
2736 (unsigned char)0,
2737 (unsigned char)0,
2738 (unsigned char)0,
2739 (unsigned char)0,
2740 (unsigned char)0,
2741 (unsigned char)0,
2742 (unsigned char)0,
2743 (unsigned char)0,
2744 (unsigned char)0,
2745 (unsigned char)0,
2746 (unsigned char)0,
2747 (unsigned char)0,
2748 (unsigned char)0,
2749 (unsigned char)0,
2750 (unsigned char)0,
2751 (unsigned char)0},
2752 0, {(unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2753 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2754 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2755 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2756 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2757 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2758 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2759 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2760 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2761 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2762 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2763 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2764 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2765 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2766 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2767 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2768 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2769 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2770 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2771 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2772 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2773 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2774 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2775 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2776 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2777 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2778 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2779 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2780 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2781 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2782 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2783 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2784 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2785 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2786 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2787 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2788 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2789 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2790 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2791 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2792 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2793 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2794 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2795 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2796 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2797 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2798 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2799 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2800 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2801 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2802 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2803 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2804 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2805 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
2806 (unsigned char)0, (unsigned char)0}, & dummy_smi_free};
2807#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2808static struct ipmi_recv_msg halt_recv_msg =
2809#line 120
2810 {{(struct list_head *)0, (struct list_head *)0}, 0, (struct ipmi_user *)0, {0,
2811 (short)0,
2812 {(char)0,
2813 (char)0,
2814 (char)0,
2815 (char)0,
2816 (char)0,
2817 (char)0,
2818 (char)0,
2819 (char)0,
2820 (char)0,
2821 (char)0,
2822 (char)0,
2823 (char)0,
2824 (char)0,
2825 (char)0,
2826 (char)0,
2827 (char)0,
2828 (char)0,
2829 (char)0,
2830 (char)0,
2831 (char)0,
2832 (char)0,
2833 (char)0,
2834 (char)0,
2835 (char)0,
2836 (char)0,
2837 (char)0,
2838 (char)0,
2839 (char)0,
2840 (char)0,
2841 (char)0,
2842 (char)0,
2843 (char)0}},
2844 0L, {(unsigned char)0, (unsigned char)0, (unsigned short)0, (unsigned char *)0},
2845 (void *)0, & dummy_recv_free, {(unsigned char)0, (unsigned char)0, (unsigned char)0,
2846 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2847 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2848 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2849 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2850 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2851 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2852 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2853 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2854 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2855 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2856 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2857 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2858 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2859 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2860 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2861 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2862 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2863 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2864 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2865 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2866 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2867 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2868 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2869 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2870 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2871 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2872 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2873 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2874 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2875 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2876 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2877 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2878 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2879 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2880 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2881 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2882 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2883 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2884 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2885 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2886 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2887 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2888 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2889 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2890 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2891 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2892 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2893 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2894 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2895 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2896 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2897 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2898 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2899 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2900 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2901 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2902 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2903 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2904 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2905 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2906 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2907 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2908 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2909 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2910 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2911 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2912 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2913 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2914 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2915 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2916 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2917 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2918 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2919 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2920 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2921 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2922 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2923 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2924 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2925 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2926 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2927 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2928 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2929 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2930 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2931 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2932 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2933 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2934 (unsigned char)0, (unsigned char)0, (unsigned char)0,
2935 (unsigned char)0, (unsigned char)0}};
2936#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2937static void receive_handler(struct ipmi_recv_msg *recv_msg , void *handler_data )
2938{ struct completion *comp ;
2939 unsigned long __cil_tmp4 ;
2940 unsigned long __cil_tmp5 ;
2941 void *__cil_tmp6 ;
2942
2943 {
2944#line 131
2945 __cil_tmp4 = (unsigned long )recv_msg;
2946#line 131
2947 __cil_tmp5 = __cil_tmp4 + 96;
2948#line 131
2949 __cil_tmp6 = *((void **)__cil_tmp5);
2950#line 131
2951 comp = (struct completion *)__cil_tmp6;
2952#line 133
2953 if (comp) {
2954 {
2955#line 134
2956 complete(comp);
2957 }
2958 } else {
2959
2960 }
2961#line 135
2962 return;
2963}
2964}
2965#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2966static struct ipmi_user_hndl ipmi_poweroff_handler = {& receive_handler, (void (*)(void *handler_data ))0};
2967#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
2968static int ipmi_request_wait_for_response(ipmi_user_t user , struct ipmi_addr *addr ,
2969 struct kernel_ipmi_msg *send_msg )
2970{ int rv ;
2971 struct completion comp ;
2972 void *__cil_tmp6 ;
2973 void *__cil_tmp7 ;
2974 unsigned long __cil_tmp8 ;
2975 unsigned long __cil_tmp9 ;
2976 unsigned char *__cil_tmp10 ;
2977 unsigned char *__cil_tmp11 ;
2978 unsigned char __cil_tmp12 ;
2979
2980 {
2981 {
2982#line 149
2983 init_completion(& comp);
2984#line 151
2985 __cil_tmp6 = (void *)(& comp);
2986#line 151
2987 __cil_tmp7 = (void *)(& halt_smi_msg);
2988#line 151
2989 rv = ipmi_request_supply_msgs(user, addr, 0L, send_msg, __cil_tmp6, __cil_tmp7,
2990 & halt_recv_msg, 0);
2991 }
2992#line 153
2993 if (rv) {
2994#line 154
2995 return (rv);
2996 } else {
2997
2998 }
2999 {
3000#line 156
3001 wait_for_completion(& comp);
3002 }
3003 {
3004#line 158
3005 __cil_tmp8 = 80 + 8;
3006#line 158
3007 __cil_tmp9 = (unsigned long )(& halt_recv_msg) + __cil_tmp8;
3008#line 158
3009 __cil_tmp10 = *((unsigned char **)__cil_tmp9);
3010#line 158
3011 __cil_tmp11 = __cil_tmp10 + 0;
3012#line 158
3013 __cil_tmp12 = *__cil_tmp11;
3014#line 158
3015 return ((int )__cil_tmp12);
3016 }
3017}
3018}
3019#line 162 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3020static int ipmi_request_in_rc_mode(ipmi_user_t user , struct ipmi_addr *addr , struct kernel_ipmi_msg *send_msg )
3021{ int rv ;
3022 int tmp___3 ;
3023 void *__cil_tmp6 ;
3024 void *__cil_tmp7 ;
3025 atomic_t const *__cil_tmp8 ;
3026 unsigned long __cil_tmp9 ;
3027 unsigned long __cil_tmp10 ;
3028 unsigned char *__cil_tmp11 ;
3029 unsigned char *__cil_tmp12 ;
3030 unsigned char __cil_tmp13 ;
3031
3032 {
3033 {
3034#line 168
3035 atomic_set(& dummy_count, 2);
3036#line 169
3037 __cil_tmp6 = (void *)0;
3038#line 169
3039 __cil_tmp7 = (void *)(& halt_smi_msg);
3040#line 169
3041 rv = ipmi_request_supply_msgs(user, addr, 0L, send_msg, __cil_tmp6, __cil_tmp7,
3042 & halt_recv_msg, 0);
3043 }
3044#line 171
3045 if (rv) {
3046 {
3047#line 172
3048 atomic_set(& dummy_count, 0);
3049 }
3050#line 173
3051 return (rv);
3052 } else {
3053
3054 }
3055 {
3056#line 179
3057 while (1) {
3058 while_continue: ;
3059 {
3060#line 179
3061 __cil_tmp8 = (atomic_t const *)(& dummy_count);
3062#line 179
3063 tmp___3 = atomic_read(__cil_tmp8);
3064 }
3065#line 179
3066 if (tmp___3 > 0) {
3067
3068 } else {
3069#line 179
3070 goto while_break;
3071 }
3072 {
3073#line 180
3074 ipmi_poll_interface(user);
3075#line 181
3076 cpu_relax();
3077 }
3078 }
3079 while_break: ;
3080 }
3081 {
3082#line 184
3083 __cil_tmp9 = 80 + 8;
3084#line 184
3085 __cil_tmp10 = (unsigned long )(& halt_recv_msg) + __cil_tmp9;
3086#line 184
3087 __cil_tmp11 = *((unsigned char **)__cil_tmp10);
3088#line 184
3089 __cil_tmp12 = __cil_tmp11 + 0;
3090#line 184
3091 __cil_tmp13 = *__cil_tmp12;
3092#line 184
3093 return ((int )__cil_tmp13);
3094 }
3095}
3096}
3097#line 202 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3098static void (*atca_oem_poweroff_hook)(ipmi_user_t user ) ;
3099#line 204 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3100static void pps_poweroff_atca(ipmi_user_t user )
3101{ struct ipmi_system_interface_addr smi_addr ;
3102 struct kernel_ipmi_msg send_msg ;
3103 int rv ;
3104 struct ipmi_system_interface_addr *__cil_tmp5 ;
3105 unsigned long __cil_tmp6 ;
3106 unsigned long __cil_tmp7 ;
3107 struct kernel_ipmi_msg *__cil_tmp8 ;
3108 unsigned long __cil_tmp9 ;
3109 unsigned long __cil_tmp10 ;
3110 unsigned long __cil_tmp11 ;
3111 struct ipmi_addr *__cil_tmp12 ;
3112
3113 {
3114 {
3115#line 212
3116 __cil_tmp5 = & smi_addr;
3117#line 212
3118 *((int *)__cil_tmp5) = 12;
3119#line 213
3120 __cil_tmp6 = (unsigned long )(& smi_addr) + 4;
3121#line 213
3122 *((short *)__cil_tmp6) = (short)15;
3123#line 214
3124 __cil_tmp7 = (unsigned long )(& smi_addr) + 6;
3125#line 214
3126 *((unsigned char *)__cil_tmp7) = (unsigned char)0;
3127#line 216
3128 printk("<6>IPMI poweroff: PPS powerdown hook used");
3129#line 218
3130 __cil_tmp8 = & send_msg;
3131#line 218
3132 *((unsigned char *)__cil_tmp8) = (unsigned char)46;
3133#line 219
3134 __cil_tmp9 = (unsigned long )(& send_msg) + 1;
3135#line 219
3136 *((unsigned char *)__cil_tmp9) = (unsigned char)17;
3137#line 220
3138 __cil_tmp10 = (unsigned long )(& send_msg) + 8;
3139#line 220
3140 *((unsigned char **)__cil_tmp10) = (unsigned char *)"\000@\n";
3141#line 221
3142 __cil_tmp11 = (unsigned long )(& send_msg) + 2;
3143#line 221
3144 *((unsigned short *)__cil_tmp11) = (unsigned short)3;
3145#line 222
3146 __cil_tmp12 = (struct ipmi_addr *)(& smi_addr);
3147#line 222
3148 rv = ipmi_request_in_rc_mode(user, __cil_tmp12, & send_msg);
3149 }
3150#line 225
3151 if (rv) {
3152#line 225
3153 if (rv != 255) {
3154 {
3155#line 226
3156 printk("<3>IPMI poweroff: Unable to send ATCA , IPMI error 0x%x\n", rv);
3157 }
3158 } else {
3159
3160 }
3161 } else {
3162
3163 }
3164#line 229
3165 return;
3166}
3167}
3168#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3169static int ipmi_atca_detect(ipmi_user_t user )
3170{ struct ipmi_system_interface_addr smi_addr ;
3171 struct kernel_ipmi_msg send_msg ;
3172 int rv ;
3173 unsigned char data[1] ;
3174 struct ipmi_system_interface_addr *__cil_tmp6 ;
3175 unsigned long __cil_tmp7 ;
3176 unsigned long __cil_tmp8 ;
3177 struct kernel_ipmi_msg *__cil_tmp9 ;
3178 unsigned long __cil_tmp10 ;
3179 unsigned long __cil_tmp11 ;
3180 unsigned long __cil_tmp12 ;
3181 unsigned long __cil_tmp13 ;
3182 unsigned long __cil_tmp14 ;
3183 unsigned long __cil_tmp15 ;
3184 unsigned long __cil_tmp16 ;
3185 struct ipmi_addr *__cil_tmp17 ;
3186 unsigned int *__cil_tmp18 ;
3187 unsigned int __cil_tmp19 ;
3188 unsigned int *__cil_tmp20 ;
3189 unsigned int __cil_tmp21 ;
3190
3191 {
3192 {
3193#line 242
3194 __cil_tmp6 = & smi_addr;
3195#line 242
3196 *((int *)__cil_tmp6) = 12;
3197#line 243
3198 __cil_tmp7 = (unsigned long )(& smi_addr) + 4;
3199#line 243
3200 *((short *)__cil_tmp7) = (short)15;
3201#line 244
3202 __cil_tmp8 = (unsigned long )(& smi_addr) + 6;
3203#line 244
3204 *((unsigned char *)__cil_tmp8) = (unsigned char)0;
3205#line 249
3206 __cil_tmp9 = & send_msg;
3207#line 249
3208 *((unsigned char *)__cil_tmp9) = (unsigned char)44;
3209#line 250
3210 __cil_tmp10 = (unsigned long )(& send_msg) + 1;
3211#line 250
3212 *((unsigned char *)__cil_tmp10) = (unsigned char)1;
3213#line 251
3214 __cil_tmp11 = 0 * 1UL;
3215#line 251
3216 __cil_tmp12 = (unsigned long )(data) + __cil_tmp11;
3217#line 251
3218 *((unsigned char *)__cil_tmp12) = (unsigned char)0;
3219#line 252
3220 __cil_tmp13 = (unsigned long )(& send_msg) + 8;
3221#line 252
3222 __cil_tmp14 = 0 * 1UL;
3223#line 252
3224 __cil_tmp15 = (unsigned long )(data) + __cil_tmp14;
3225#line 252
3226 *((unsigned char **)__cil_tmp13) = (unsigned char *)__cil_tmp15;
3227#line 253
3228 __cil_tmp16 = (unsigned long )(& send_msg) + 2;
3229#line 253
3230 *((unsigned short *)__cil_tmp16) = (unsigned short )1UL;
3231#line 254
3232 __cil_tmp17 = (struct ipmi_addr *)(& smi_addr);
3233#line 254
3234 rv = ipmi_request_wait_for_response(user, __cil_tmp17, & send_msg);
3235#line 258
3236 __cil_tmp18 = & mfg_id;
3237#line 258
3238 __cil_tmp19 = *__cil_tmp18;
3239#line 258
3240 printk("<6>IPMI poweroff: ATCA Detect mfg 0x%X prod 0x%X\n", __cil_tmp19, prod_id);
3241 }
3242 {
3243#line 260
3244 __cil_tmp20 = & mfg_id;
3245#line 260
3246 __cil_tmp21 = *__cil_tmp20;
3247#line 260
3248 if (__cil_tmp21 == 161U) {
3249#line 260
3250 if (prod_id == 81U) {
3251 {
3252#line 262
3253 printk("<6>IPMI poweroff: Installing Pigeon Point Systems Poweroff Hook\n");
3254#line 264
3255 atca_oem_poweroff_hook = & pps_poweroff_atca;
3256 }
3257 } else {
3258
3259 }
3260 } else {
3261
3262 }
3263 }
3264#line 266
3265 return (! rv);
3266}
3267}
3268#line 269 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3269static void ipmi_poweroff_atca(ipmi_user_t user )
3270{ struct ipmi_system_interface_addr smi_addr ;
3271 struct kernel_ipmi_msg send_msg ;
3272 int rv ;
3273 unsigned char data[4] ;
3274 struct ipmi_system_interface_addr *__cil_tmp6 ;
3275 unsigned long __cil_tmp7 ;
3276 unsigned long __cil_tmp8 ;
3277 struct kernel_ipmi_msg *__cil_tmp9 ;
3278 unsigned long __cil_tmp10 ;
3279 unsigned long __cil_tmp11 ;
3280 unsigned long __cil_tmp12 ;
3281 unsigned long __cil_tmp13 ;
3282 unsigned long __cil_tmp14 ;
3283 unsigned long __cil_tmp15 ;
3284 unsigned long __cil_tmp16 ;
3285 unsigned long __cil_tmp17 ;
3286 unsigned long __cil_tmp18 ;
3287 unsigned long __cil_tmp19 ;
3288 unsigned long __cil_tmp20 ;
3289 unsigned long __cil_tmp21 ;
3290 unsigned long __cil_tmp22 ;
3291 struct ipmi_addr *__cil_tmp23 ;
3292
3293 {
3294 {
3295#line 279
3296 __cil_tmp6 = & smi_addr;
3297#line 279
3298 *((int *)__cil_tmp6) = 12;
3299#line 280
3300 __cil_tmp7 = (unsigned long )(& smi_addr) + 4;
3301#line 280
3302 *((short *)__cil_tmp7) = (short)15;
3303#line 281
3304 __cil_tmp8 = (unsigned long )(& smi_addr) + 6;
3305#line 281
3306 *((unsigned char *)__cil_tmp8) = (unsigned char)0;
3307#line 283
3308 printk("<6>IPMI poweroff: Powering down via ATCA power command\n");
3309#line 288
3310 __cil_tmp9 = & send_msg;
3311#line 288
3312 *((unsigned char *)__cil_tmp9) = (unsigned char)44;
3313#line 289
3314 __cil_tmp10 = (unsigned long )(& send_msg) + 1;
3315#line 289
3316 *((unsigned char *)__cil_tmp10) = (unsigned char)17;
3317#line 290
3318 __cil_tmp11 = 0 * 1UL;
3319#line 290
3320 __cil_tmp12 = (unsigned long )(data) + __cil_tmp11;
3321#line 290
3322 *((unsigned char *)__cil_tmp12) = (unsigned char)0;
3323#line 291
3324 __cil_tmp13 = 1 * 1UL;
3325#line 291
3326 __cil_tmp14 = (unsigned long )(data) + __cil_tmp13;
3327#line 291
3328 *((unsigned char *)__cil_tmp14) = (unsigned char)0;
3329#line 292
3330 __cil_tmp15 = 2 * 1UL;
3331#line 292
3332 __cil_tmp16 = (unsigned long )(data) + __cil_tmp15;
3333#line 292
3334 *((unsigned char *)__cil_tmp16) = (unsigned char)0;
3335#line 293
3336 __cil_tmp17 = 3 * 1UL;
3337#line 293
3338 __cil_tmp18 = (unsigned long )(data) + __cil_tmp17;
3339#line 293
3340 *((unsigned char *)__cil_tmp18) = (unsigned char)0;
3341#line 294
3342 __cil_tmp19 = (unsigned long )(& send_msg) + 8;
3343#line 294
3344 __cil_tmp20 = 0 * 1UL;
3345#line 294
3346 __cil_tmp21 = (unsigned long )(data) + __cil_tmp20;
3347#line 294
3348 *((unsigned char **)__cil_tmp19) = (unsigned char *)__cil_tmp21;
3349#line 295
3350 __cil_tmp22 = (unsigned long )(& send_msg) + 2;
3351#line 295
3352 *((unsigned short *)__cil_tmp22) = (unsigned short )4UL;
3353#line 296
3354 __cil_tmp23 = (struct ipmi_addr *)(& smi_addr);
3355#line 296
3356 rv = ipmi_request_in_rc_mode(user, __cil_tmp23, & send_msg);
3357 }
3358#line 305
3359 if (rv) {
3360#line 305
3361 if (rv != 255) {
3362 {
3363#line 306
3364 printk("<3>IPMI poweroff: Unable to send ATCA powerdown message, IPMI error 0x%x\n",
3365 rv);
3366 }
3367#line 308
3368 goto out;
3369 } else {
3370
3371 }
3372 } else {
3373
3374 }
3375#line 311
3376 if (atca_oem_poweroff_hook) {
3377 {
3378#line 312
3379 (*atca_oem_poweroff_hook)(user);
3380 }
3381 } else {
3382
3383 }
3384 out:
3385#line 314
3386 return;
3387}
3388}
3389#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3390static int ipmi_cpi1_detect(ipmi_user_t user )
3391{ int tmp___3 ;
3392 unsigned int *__cil_tmp3 ;
3393 unsigned int __cil_tmp4 ;
3394
3395 {
3396 {
3397#line 335
3398 __cil_tmp3 = & mfg_id;
3399#line 335
3400 __cil_tmp4 = *__cil_tmp3;
3401#line 335
3402 if (__cil_tmp4 == 264U) {
3403#line 335
3404 if (prod_id == 343U) {
3405#line 335
3406 tmp___3 = 1;
3407 } else {
3408#line 335
3409 tmp___3 = 0;
3410 }
3411 } else {
3412#line 335
3413 tmp___3 = 0;
3414 }
3415 }
3416#line 335
3417 return (tmp___3);
3418}
3419}
3420#line 339 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3421static void ipmi_poweroff_cpi1(ipmi_user_t user )
3422{ struct ipmi_system_interface_addr smi_addr ;
3423 struct ipmi_ipmb_addr ipmb_addr ;
3424 struct kernel_ipmi_msg send_msg ;
3425 int rv ;
3426 unsigned char data[1] ;
3427 int slot ;
3428 unsigned char hotswap_ipmb ;
3429 unsigned char aer_addr ;
3430 unsigned char aer_lun ;
3431 struct ipmi_system_interface_addr *__cil_tmp11 ;
3432 unsigned long __cil_tmp12 ;
3433 unsigned long __cil_tmp13 ;
3434 struct kernel_ipmi_msg *__cil_tmp14 ;
3435 int __cil_tmp15 ;
3436 unsigned long __cil_tmp16 ;
3437 unsigned long __cil_tmp17 ;
3438 void *__cil_tmp18 ;
3439 unsigned long __cil_tmp19 ;
3440 struct ipmi_addr *__cil_tmp20 ;
3441 unsigned long __cil_tmp21 ;
3442 unsigned long __cil_tmp22 ;
3443 unsigned char *__cil_tmp23 ;
3444 unsigned char *__cil_tmp24 ;
3445 unsigned char __cil_tmp25 ;
3446 unsigned char *__cil_tmp26 ;
3447 int __cil_tmp27 ;
3448 int __cil_tmp28 ;
3449 unsigned char *__cil_tmp29 ;
3450 int __cil_tmp30 ;
3451 int __cil_tmp31 ;
3452 struct kernel_ipmi_msg *__cil_tmp32 ;
3453 int __cil_tmp33 ;
3454 unsigned long __cil_tmp34 ;
3455 unsigned long __cil_tmp35 ;
3456 void *__cil_tmp36 ;
3457 unsigned long __cil_tmp37 ;
3458 struct ipmi_addr *__cil_tmp38 ;
3459 unsigned long __cil_tmp39 ;
3460 unsigned long __cil_tmp40 ;
3461 unsigned char *__cil_tmp41 ;
3462 unsigned char *__cil_tmp42 ;
3463 unsigned long __cil_tmp43 ;
3464 unsigned long __cil_tmp44 ;
3465 unsigned char *__cil_tmp45 ;
3466 unsigned char *__cil_tmp46 ;
3467 struct ipmi_ipmb_addr *__cil_tmp47 ;
3468 unsigned long __cil_tmp48 ;
3469 unsigned long __cil_tmp49 ;
3470 unsigned long __cil_tmp50 ;
3471 struct kernel_ipmi_msg *__cil_tmp51 ;
3472 int __cil_tmp52 ;
3473 unsigned long __cil_tmp53 ;
3474 unsigned long __cil_tmp54 ;
3475 unsigned long __cil_tmp55 ;
3476 struct ipmi_addr *__cil_tmp56 ;
3477 struct kernel_ipmi_msg *__cil_tmp57 ;
3478 int __cil_tmp58 ;
3479 unsigned long __cil_tmp59 ;
3480 unsigned long __cil_tmp60 ;
3481 unsigned long __cil_tmp61 ;
3482 unsigned long __cil_tmp62 ;
3483 unsigned long __cil_tmp63 ;
3484 unsigned long __cil_tmp64 ;
3485 unsigned long __cil_tmp65 ;
3486 struct ipmi_addr *__cil_tmp66 ;
3487 struct kernel_ipmi_msg *__cil_tmp67 ;
3488 int __cil_tmp68 ;
3489 unsigned long __cil_tmp69 ;
3490 unsigned long __cil_tmp70 ;
3491 unsigned long __cil_tmp71 ;
3492 unsigned long __cil_tmp72 ;
3493 unsigned long __cil_tmp73 ;
3494 unsigned long __cil_tmp74 ;
3495 unsigned long __cil_tmp75 ;
3496 struct ipmi_addr *__cil_tmp76 ;
3497
3498 {
3499 {
3500#line 354
3501 __cil_tmp11 = & smi_addr;
3502#line 354
3503 *((int *)__cil_tmp11) = 12;
3504#line 355
3505 __cil_tmp12 = (unsigned long )(& smi_addr) + 4;
3506#line 355
3507 *((short *)__cil_tmp12) = (short)15;
3508#line 356
3509 __cil_tmp13 = (unsigned long )(& smi_addr) + 6;
3510#line 356
3511 *((unsigned char *)__cil_tmp13) = (unsigned char)0;
3512#line 358
3513 printk("<6>IPMI poweroff: Powering down via CPI1 power command\n");
3514#line 363
3515 __cil_tmp14 = & send_msg;
3516#line 363
3517 __cil_tmp15 = 248 >> 2;
3518#line 363
3519 *((unsigned char *)__cil_tmp14) = (unsigned char )__cil_tmp15;
3520#line 364
3521 __cil_tmp16 = (unsigned long )(& send_msg) + 1;
3522#line 364
3523 *((unsigned char *)__cil_tmp16) = (unsigned char)163;
3524#line 365
3525 __cil_tmp17 = (unsigned long )(& send_msg) + 8;
3526#line 365
3527 __cil_tmp18 = (void *)0;
3528#line 365
3529 *((unsigned char **)__cil_tmp17) = (unsigned char *)__cil_tmp18;
3530#line 366
3531 __cil_tmp19 = (unsigned long )(& send_msg) + 2;
3532#line 366
3533 *((unsigned short *)__cil_tmp19) = (unsigned short)0;
3534#line 367
3535 __cil_tmp20 = (struct ipmi_addr *)(& smi_addr);
3536#line 367
3537 rv = ipmi_request_in_rc_mode(user, __cil_tmp20, & send_msg);
3538 }
3539#line 370
3540 if (rv) {
3541#line 371
3542 goto out;
3543 } else {
3544
3545 }
3546#line 372
3547 __cil_tmp21 = 80 + 8;
3548#line 372
3549 __cil_tmp22 = (unsigned long )(& halt_recv_msg) + __cil_tmp21;
3550#line 372
3551 __cil_tmp23 = *((unsigned char **)__cil_tmp22);
3552#line 372
3553 __cil_tmp24 = __cil_tmp23 + 1;
3554#line 372
3555 __cil_tmp25 = *__cil_tmp24;
3556#line 372
3557 slot = (int )__cil_tmp25;
3558#line 373
3559 if (slot > 9) {
3560#line 373
3561 __cil_tmp26 = & hotswap_ipmb;
3562#line 373
3563 __cil_tmp27 = 2 * slot;
3564#line 373
3565 __cil_tmp28 = 176 + __cil_tmp27;
3566#line 373
3567 *__cil_tmp26 = (unsigned char )__cil_tmp28;
3568 } else {
3569#line 373
3570 __cil_tmp29 = & hotswap_ipmb;
3571#line 373
3572 __cil_tmp30 = 2 * slot;
3573#line 373
3574 __cil_tmp31 = 174 + __cil_tmp30;
3575#line 373
3576 *__cil_tmp29 = (unsigned char )__cil_tmp31;
3577 }
3578 {
3579#line 378
3580 __cil_tmp32 = & send_msg;
3581#line 378
3582 __cil_tmp33 = 16 >> 2;
3583#line 378
3584 *((unsigned char *)__cil_tmp32) = (unsigned char )__cil_tmp33;
3585#line 379
3586 __cil_tmp34 = (unsigned long )(& send_msg) + 1;
3587#line 379
3588 *((unsigned char *)__cil_tmp34) = (unsigned char)1;
3589#line 380
3590 __cil_tmp35 = (unsigned long )(& send_msg) + 8;
3591#line 380
3592 __cil_tmp36 = (void *)0;
3593#line 380
3594 *((unsigned char **)__cil_tmp35) = (unsigned char *)__cil_tmp36;
3595#line 381
3596 __cil_tmp37 = (unsigned long )(& send_msg) + 2;
3597#line 381
3598 *((unsigned short *)__cil_tmp37) = (unsigned short)0;
3599#line 382
3600 __cil_tmp38 = (struct ipmi_addr *)(& smi_addr);
3601#line 382
3602 rv = ipmi_request_in_rc_mode(user, __cil_tmp38, & send_msg);
3603 }
3604#line 385
3605 if (rv) {
3606#line 386
3607 goto out;
3608 } else {
3609
3610 }
3611 {
3612#line 387
3613 __cil_tmp39 = 80 + 8;
3614#line 387
3615 __cil_tmp40 = (unsigned long )(& halt_recv_msg) + __cil_tmp39;
3616#line 387
3617 __cil_tmp41 = *((unsigned char **)__cil_tmp40);
3618#line 387
3619 __cil_tmp42 = __cil_tmp41 + 1;
3620#line 387
3621 aer_addr = *__cil_tmp42;
3622#line 388
3623 __cil_tmp43 = 80 + 8;
3624#line 388
3625 __cil_tmp44 = (unsigned long )(& halt_recv_msg) + __cil_tmp43;
3626#line 388
3627 __cil_tmp45 = *((unsigned char **)__cil_tmp44);
3628#line 388
3629 __cil_tmp46 = __cil_tmp45 + 2;
3630#line 388
3631 aer_lun = *__cil_tmp46;
3632#line 393
3633 __cil_tmp47 = & ipmb_addr;
3634#line 393
3635 *((int *)__cil_tmp47) = 1;
3636#line 394
3637 __cil_tmp48 = (unsigned long )(& ipmb_addr) + 4;
3638#line 394
3639 *((short *)__cil_tmp48) = (short)0;
3640#line 395
3641 __cil_tmp49 = (unsigned long )(& ipmb_addr) + 6;
3642#line 395
3643 *((unsigned char *)__cil_tmp49) = aer_addr;
3644#line 396
3645 __cil_tmp50 = (unsigned long )(& ipmb_addr) + 7;
3646#line 396
3647 *((unsigned char *)__cil_tmp50) = aer_lun;
3648#line 401
3649 __cil_tmp51 = & send_msg;
3650#line 401
3651 __cil_tmp52 = 248 >> 2;
3652#line 401
3653 *((unsigned char *)__cil_tmp51) = (unsigned char )__cil_tmp52;
3654#line 402
3655 __cil_tmp53 = (unsigned long )(& send_msg) + 1;
3656#line 402
3657 *((unsigned char *)__cil_tmp53) = (unsigned char)128;
3658#line 403
3659 __cil_tmp54 = (unsigned long )(& send_msg) + 8;
3660#line 403
3661 *((unsigned char **)__cil_tmp54) = & hotswap_ipmb;
3662#line 404
3663 __cil_tmp55 = (unsigned long )(& send_msg) + 2;
3664#line 404
3665 *((unsigned short *)__cil_tmp55) = (unsigned short)1;
3666#line 405
3667 __cil_tmp56 = (struct ipmi_addr *)(& ipmb_addr);
3668#line 405
3669 ipmi_request_in_rc_mode(user, __cil_tmp56, & send_msg);
3670#line 412
3671 __cil_tmp57 = & send_msg;
3672#line 412
3673 __cil_tmp58 = 248 >> 2;
3674#line 412
3675 *((unsigned char *)__cil_tmp57) = (unsigned char )__cil_tmp58;
3676#line 413
3677 __cil_tmp59 = (unsigned long )(& send_msg) + 1;
3678#line 413
3679 *((unsigned char *)__cil_tmp59) = (unsigned char)132;
3680#line 414
3681 __cil_tmp60 = (unsigned long )(& send_msg) + 8;
3682#line 414
3683 __cil_tmp61 = 0 * 1UL;
3684#line 414
3685 __cil_tmp62 = (unsigned long )(data) + __cil_tmp61;
3686#line 414
3687 *((unsigned char **)__cil_tmp60) = (unsigned char *)__cil_tmp62;
3688#line 415
3689 __cil_tmp63 = 0 * 1UL;
3690#line 415
3691 __cil_tmp64 = (unsigned long )(data) + __cil_tmp63;
3692#line 415
3693 *((unsigned char *)__cil_tmp64) = (unsigned char)1;
3694#line 416
3695 __cil_tmp65 = (unsigned long )(& send_msg) + 2;
3696#line 416
3697 *((unsigned short *)__cil_tmp65) = (unsigned short)1;
3698#line 417
3699 __cil_tmp66 = (struct ipmi_addr *)(& smi_addr);
3700#line 417
3701 rv = ipmi_request_in_rc_mode(user, __cil_tmp66, & send_msg);
3702 }
3703#line 420
3704 if (rv) {
3705#line 421
3706 goto out;
3707 } else {
3708
3709 }
3710 {
3711#line 426
3712 __cil_tmp67 = & send_msg;
3713#line 426
3714 __cil_tmp68 = 248 >> 2;
3715#line 426
3716 *((unsigned char *)__cil_tmp67) = (unsigned char )__cil_tmp68;
3717#line 427
3718 __cil_tmp69 = (unsigned long )(& send_msg) + 1;
3719#line 427
3720 *((unsigned char *)__cil_tmp69) = (unsigned char)130;
3721#line 428
3722 __cil_tmp70 = (unsigned long )(& send_msg) + 8;
3723#line 428
3724 __cil_tmp71 = 0 * 1UL;
3725#line 428
3726 __cil_tmp72 = (unsigned long )(data) + __cil_tmp71;
3727#line 428
3728 *((unsigned char **)__cil_tmp70) = (unsigned char *)__cil_tmp72;
3729#line 429
3730 __cil_tmp73 = 0 * 1UL;
3731#line 429
3732 __cil_tmp74 = (unsigned long )(data) + __cil_tmp73;
3733#line 429
3734 *((unsigned char *)__cil_tmp74) = (unsigned char)1;
3735#line 430
3736 __cil_tmp75 = (unsigned long )(& send_msg) + 2;
3737#line 430
3738 *((unsigned short *)__cil_tmp75) = (unsigned short)1;
3739#line 431
3740 __cil_tmp76 = (struct ipmi_addr *)(& smi_addr);
3741#line 431
3742 rv = ipmi_request_in_rc_mode(user, __cil_tmp76, & send_msg);
3743 }
3744#line 434
3745 if (rv) {
3746#line 435
3747 goto out;
3748 } else {
3749
3750 }
3751 out:
3752#line 438
3753 return;
3754}
3755}
3756#line 448 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3757static int ipmi_dell_chassis_detect(ipmi_user_t user )
3758{ char ipmi_version_major ;
3759 char ipmi_version_minor ;
3760 char mfr[3] ;
3761 int tmp___3 ;
3762 int __cil_tmp6 ;
3763 int __cil_tmp7 ;
3764 int __cil_tmp8 ;
3765 int __cil_tmp9 ;
3766 int __cil_tmp10 ;
3767 unsigned long __cil_tmp11 ;
3768 unsigned long __cil_tmp12 ;
3769 unsigned long __cil_tmp13 ;
3770 unsigned long __cil_tmp14 ;
3771 unsigned long __cil_tmp15 ;
3772 unsigned long __cil_tmp16 ;
3773 unsigned long __cil_tmp17 ;
3774 unsigned long __cil_tmp18 ;
3775 char *__cil_tmp19 ;
3776 void const *__cil_tmp20 ;
3777 void const *__cil_tmp21 ;
3778 int __cil_tmp22 ;
3779 int __cil_tmp23 ;
3780
3781 {
3782 {
3783#line 450
3784 __cil_tmp6 = (int )ipmi_version;
3785#line 450
3786 __cil_tmp7 = __cil_tmp6 & 15;
3787#line 450
3788 ipmi_version_major = (char )__cil_tmp7;
3789#line 451
3790 __cil_tmp8 = (int )ipmi_version;
3791#line 451
3792 __cil_tmp9 = __cil_tmp8 >> 4;
3793#line 451
3794 __cil_tmp10 = __cil_tmp9 & 15;
3795#line 451
3796 ipmi_version_minor = (char )__cil_tmp10;
3797#line 452
3798 __cil_tmp11 = 0 * 1UL;
3799#line 452
3800 __cil_tmp12 = (unsigned long )(mfr) + __cil_tmp11;
3801#line 452
3802 *((char *)__cil_tmp12) = (char)-94;
3803#line 452
3804 __cil_tmp13 = 1 * 1UL;
3805#line 452
3806 __cil_tmp14 = (unsigned long )(mfr) + __cil_tmp13;
3807#line 452
3808 *((char *)__cil_tmp14) = (char)2;
3809#line 452
3810 __cil_tmp15 = 2 * 1UL;
3811#line 452
3812 __cil_tmp16 = (unsigned long )(mfr) + __cil_tmp15;
3813#line 452
3814 *((char *)__cil_tmp16) = (char)0;
3815#line 453
3816 __cil_tmp17 = 0 * 1UL;
3817#line 453
3818 __cil_tmp18 = (unsigned long )(mfr) + __cil_tmp17;
3819#line 453
3820 __cil_tmp19 = (char *)__cil_tmp18;
3821#line 453
3822 __cil_tmp20 = (void const *)__cil_tmp19;
3823#line 453
3824 __cil_tmp21 = (void const *)(& mfg_id);
3825#line 453
3826 tmp___3 = memcmp(__cil_tmp20, __cil_tmp21, 3UL);
3827 }
3828#line 453
3829 if (tmp___3) {
3830
3831 } else {
3832 {
3833#line 453
3834 __cil_tmp22 = (int )ipmi_version_major;
3835#line 453
3836 if (__cil_tmp22 <= 1) {
3837 {
3838#line 453
3839 __cil_tmp23 = (int )ipmi_version_minor;
3840#line 453
3841 if (__cil_tmp23 < 5) {
3842#line 456
3843 return (1);
3844 } else {
3845
3846 }
3847 }
3848 } else {
3849
3850 }
3851 }
3852 }
3853#line 457
3854 return (0);
3855}
3856}
3857#line 467 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3858static int ipmi_chassis_detect(ipmi_user_t user )
3859{ int __cil_tmp2 ;
3860
3861 {
3862 {
3863#line 470
3864 __cil_tmp2 = (int )capabilities;
3865#line 470
3866 return (__cil_tmp2 & 128);
3867 }
3868}
3869}
3870#line 473 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
3871static void ipmi_poweroff_chassis(ipmi_user_t user )
3872{ struct ipmi_system_interface_addr smi_addr ;
3873 struct kernel_ipmi_msg send_msg ;
3874 int rv ;
3875 unsigned char data[1] ;
3876 char const *tmp___3 ;
3877 struct ipmi_system_interface_addr *__cil_tmp7 ;
3878 unsigned long __cil_tmp8 ;
3879 unsigned long __cil_tmp9 ;
3880 int *__cil_tmp10 ;
3881 struct kernel_ipmi_msg *__cil_tmp11 ;
3882 unsigned long __cil_tmp12 ;
3883 int *__cil_tmp13 ;
3884 unsigned long __cil_tmp14 ;
3885 unsigned long __cil_tmp15 ;
3886 unsigned long __cil_tmp16 ;
3887 unsigned long __cil_tmp17 ;
3888 unsigned long __cil_tmp18 ;
3889 unsigned long __cil_tmp19 ;
3890 unsigned long __cil_tmp20 ;
3891 unsigned long __cil_tmp21 ;
3892 struct ipmi_addr *__cil_tmp22 ;
3893 int *__cil_tmp23 ;
3894 int *__cil_tmp24 ;
3895
3896 {
3897#line 483
3898 __cil_tmp7 = & smi_addr;
3899#line 483
3900 *((int *)__cil_tmp7) = 12;
3901#line 484
3902 __cil_tmp8 = (unsigned long )(& smi_addr) + 4;
3903#line 484
3904 *((short *)__cil_tmp8) = (short)15;
3905#line 485
3906 __cil_tmp9 = (unsigned long )(& smi_addr) + 6;
3907#line 485
3908 *((unsigned char *)__cil_tmp9) = (unsigned char)0;
3909 powercyclefailed:
3910 {
3911#line 488
3912 __cil_tmp10 = & poweroff_powercycle;
3913#line 488
3914 if (*__cil_tmp10) {
3915#line 488
3916 tmp___3 = "cycle";
3917 } else {
3918#line 488
3919 tmp___3 = "down";
3920 }
3921 }
3922 {
3923#line 488
3924 printk("<6>IPMI poweroff: Powering %s via IPMI chassis control command\n", tmp___3);
3925#line 494
3926 __cil_tmp11 = & send_msg;
3927#line 494
3928 *((unsigned char *)__cil_tmp11) = (unsigned char)0;
3929#line 495
3930 __cil_tmp12 = (unsigned long )(& send_msg) + 1;
3931#line 495
3932 *((unsigned char *)__cil_tmp12) = (unsigned char)2;
3933 }
3934 {
3935#line 496
3936 __cil_tmp13 = & poweroff_powercycle;
3937#line 496
3938 if (*__cil_tmp13) {
3939#line 497
3940 __cil_tmp14 = 0 * 1UL;
3941#line 497
3942 __cil_tmp15 = (unsigned long )(data) + __cil_tmp14;
3943#line 497
3944 *((unsigned char *)__cil_tmp15) = (unsigned char)2;
3945 } else {
3946#line 499
3947 __cil_tmp16 = 0 * 1UL;
3948#line 499
3949 __cil_tmp17 = (unsigned long )(data) + __cil_tmp16;
3950#line 499
3951 *((unsigned char *)__cil_tmp17) = (unsigned char)0;
3952 }
3953 }
3954 {
3955#line 500
3956 __cil_tmp18 = (unsigned long )(& send_msg) + 8;
3957#line 500
3958 __cil_tmp19 = 0 * 1UL;
3959#line 500
3960 __cil_tmp20 = (unsigned long )(data) + __cil_tmp19;
3961#line 500
3962 *((unsigned char **)__cil_tmp18) = (unsigned char *)__cil_tmp20;
3963#line 501
3964 __cil_tmp21 = (unsigned long )(& send_msg) + 2;
3965#line 501
3966 *((unsigned short *)__cil_tmp21) = (unsigned short )1UL;
3967#line 502
3968 __cil_tmp22 = (struct ipmi_addr *)(& smi_addr);
3969#line 502
3970 rv = ipmi_request_in_rc_mode(user, __cil_tmp22, & send_msg);
3971 }
3972#line 505
3973 if (rv) {
3974 {
3975#line 506
3976 __cil_tmp23 = & poweroff_powercycle;
3977#line 506
3978 if (*__cil_tmp23) {
3979 {
3980#line 508
3981 printk("<3>IPMI poweroff: Unable to send chassis power cycle message, IPMI error 0x%x\n",
3982 rv);
3983#line 510
3984 __cil_tmp24 = & poweroff_powercycle;
3985#line 510
3986 *__cil_tmp24 = 0;
3987 }
3988#line 511
3989 goto powercyclefailed;
3990 } else {
3991
3992 }
3993 }
3994 {
3995#line 514
3996 printk("<3>IPMI poweroff: Unable to send chassis power down message, IPMI error 0x%x\n",
3997 rv);
3998 }
3999 } else {
4000
4001 }
4002#line 517
4003 return;
4004}
4005}
4006#line 527 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4007static struct poweroff_function poweroff_functions[4] = { {(char *)"ATCA", & ipmi_atca_detect, & ipmi_poweroff_atca},
4008 {(char *)"CPI1", & ipmi_cpi1_detect, & ipmi_poweroff_cpi1},
4009 {(char *)"chassis", & ipmi_dell_chassis_detect, & ipmi_poweroff_chassis},
4010 {(char *)"chassis", & ipmi_chassis_detect, & ipmi_poweroff_chassis}};
4011#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4012static void ipmi_poweroff_function(void)
4013{ ipmi_user_t *__cil_tmp1 ;
4014 ipmi_user_t __cil_tmp2 ;
4015
4016 {
4017#line 550
4018 if (! ready) {
4019#line 551
4020 return;
4021 } else {
4022
4023 }
4024 {
4025#line 554
4026 __cil_tmp1 = & ipmi_user;
4027#line 554
4028 __cil_tmp2 = *__cil_tmp1;
4029#line 554
4030 (*specific_poweroff_func)(__cil_tmp2);
4031 }
4032#line 555
4033 return;
4034}
4035}
4036#line 559 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4037static void ipmi_po_new_smi(int if_num , struct device *device )
4038{ struct ipmi_system_interface_addr smi_addr ;
4039 struct kernel_ipmi_msg send_msg ;
4040 int rv ;
4041 int i ;
4042 int tmp___3 ;
4043 int *__cil_tmp8 ;
4044 int __cil_tmp9 ;
4045 int *__cil_tmp10 ;
4046 int __cil_tmp11 ;
4047 unsigned int __cil_tmp12 ;
4048 void *__cil_tmp13 ;
4049 struct ipmi_system_interface_addr *__cil_tmp14 ;
4050 unsigned long __cil_tmp15 ;
4051 unsigned long __cil_tmp16 ;
4052 struct kernel_ipmi_msg *__cil_tmp17 ;
4053 unsigned long __cil_tmp18 ;
4054 unsigned long __cil_tmp19 ;
4055 void *__cil_tmp20 ;
4056 unsigned long __cil_tmp21 ;
4057 ipmi_user_t *__cil_tmp22 ;
4058 ipmi_user_t __cil_tmp23 ;
4059 struct ipmi_addr *__cil_tmp24 ;
4060 unsigned long __cil_tmp25 ;
4061 unsigned long __cil_tmp26 ;
4062 unsigned short __cil_tmp27 ;
4063 int __cil_tmp28 ;
4064 unsigned long __cil_tmp29 ;
4065 unsigned long __cil_tmp30 ;
4066 unsigned short __cil_tmp31 ;
4067 int __cil_tmp32 ;
4068 unsigned int *__cil_tmp33 ;
4069 unsigned long __cil_tmp34 ;
4070 unsigned long __cil_tmp35 ;
4071 unsigned char *__cil_tmp36 ;
4072 unsigned char *__cil_tmp37 ;
4073 unsigned char __cil_tmp38 ;
4074 int __cil_tmp39 ;
4075 int __cil_tmp40 ;
4076 unsigned long __cil_tmp41 ;
4077 unsigned long __cil_tmp42 ;
4078 unsigned char *__cil_tmp43 ;
4079 unsigned char *__cil_tmp44 ;
4080 unsigned char __cil_tmp45 ;
4081 int __cil_tmp46 ;
4082 int __cil_tmp47 ;
4083 unsigned long __cil_tmp48 ;
4084 unsigned long __cil_tmp49 ;
4085 unsigned char *__cil_tmp50 ;
4086 unsigned char *__cil_tmp51 ;
4087 unsigned char __cil_tmp52 ;
4088 int __cil_tmp53 ;
4089 int __cil_tmp54 ;
4090 int __cil_tmp55 ;
4091 unsigned long __cil_tmp56 ;
4092 unsigned long __cil_tmp57 ;
4093 unsigned char *__cil_tmp58 ;
4094 unsigned char *__cil_tmp59 ;
4095 unsigned char __cil_tmp60 ;
4096 int __cil_tmp61 ;
4097 int __cil_tmp62 ;
4098 unsigned long __cil_tmp63 ;
4099 unsigned long __cil_tmp64 ;
4100 unsigned char *__cil_tmp65 ;
4101 unsigned char *__cil_tmp66 ;
4102 unsigned char __cil_tmp67 ;
4103 int __cil_tmp68 ;
4104 int __cil_tmp69 ;
4105 unsigned long __cil_tmp70 ;
4106 unsigned long __cil_tmp71 ;
4107 unsigned char *__cil_tmp72 ;
4108 unsigned char *__cil_tmp73 ;
4109 unsigned long __cil_tmp74 ;
4110 unsigned long __cil_tmp75 ;
4111 unsigned char *__cil_tmp76 ;
4112 unsigned char *__cil_tmp77 ;
4113 unsigned long __cil_tmp78 ;
4114 unsigned long __cil_tmp79 ;
4115 unsigned long __cil_tmp80 ;
4116 unsigned long __cil_tmp81 ;
4117 unsigned long __cil_tmp82 ;
4118 int (*__cil_tmp83)(ipmi_user_t user ) ;
4119 ipmi_user_t *__cil_tmp84 ;
4120 ipmi_user_t __cil_tmp85 ;
4121 ipmi_user_t *__cil_tmp86 ;
4122 ipmi_user_t __cil_tmp87 ;
4123 unsigned long __cil_tmp88 ;
4124 unsigned long __cil_tmp89 ;
4125 char *__cil_tmp90 ;
4126 unsigned long __cil_tmp91 ;
4127 unsigned long __cil_tmp92 ;
4128 unsigned long __cil_tmp93 ;
4129
4130 {
4131#line 566
4132 if (ready) {
4133#line 567
4134 return;
4135 } else {
4136
4137 }
4138 {
4139#line 569
4140 __cil_tmp8 = & ifnum_to_use;
4141#line 569
4142 __cil_tmp9 = *__cil_tmp8;
4143#line 569
4144 if (__cil_tmp9 >= 0) {
4145 {
4146#line 569
4147 __cil_tmp10 = & ifnum_to_use;
4148#line 569
4149 __cil_tmp11 = *__cil_tmp10;
4150#line 569
4151 if (__cil_tmp11 != if_num) {
4152#line 570
4153 return;
4154 } else {
4155
4156 }
4157 }
4158 } else {
4159
4160 }
4161 }
4162 {
4163#line 572
4164 __cil_tmp12 = (unsigned int )if_num;
4165#line 572
4166 __cil_tmp13 = (void *)0;
4167#line 572
4168 rv = ipmi_create_user(__cil_tmp12, & ipmi_poweroff_handler, __cil_tmp13, & ipmi_user);
4169 }
4170#line 574
4171 if (rv) {
4172 {
4173#line 575
4174 printk("<3>IPMI poweroff: could not create IPMI user, error %d\n", rv);
4175 }
4176#line 577
4177 return;
4178 } else {
4179
4180 }
4181 {
4182#line 580
4183 ipmi_ifnum = if_num;
4184#line 586
4185 __cil_tmp14 = & smi_addr;
4186#line 586
4187 *((int *)__cil_tmp14) = 12;
4188#line 587
4189 __cil_tmp15 = (unsigned long )(& smi_addr) + 4;
4190#line 587
4191 *((short *)__cil_tmp15) = (short)15;
4192#line 588
4193 __cil_tmp16 = (unsigned long )(& smi_addr) + 6;
4194#line 588
4195 *((unsigned char *)__cil_tmp16) = (unsigned char)0;
4196#line 590
4197 __cil_tmp17 = & send_msg;
4198#line 590
4199 *((unsigned char *)__cil_tmp17) = (unsigned char)6;
4200#line 591
4201 __cil_tmp18 = (unsigned long )(& send_msg) + 1;
4202#line 591
4203 *((unsigned char *)__cil_tmp18) = (unsigned char)1;
4204#line 592
4205 __cil_tmp19 = (unsigned long )(& send_msg) + 8;
4206#line 592
4207 __cil_tmp20 = (void *)0;
4208#line 592
4209 *((unsigned char **)__cil_tmp19) = (unsigned char *)__cil_tmp20;
4210#line 593
4211 __cil_tmp21 = (unsigned long )(& send_msg) + 2;
4212#line 593
4213 *((unsigned short *)__cil_tmp21) = (unsigned short)0;
4214#line 594
4215 __cil_tmp22 = & ipmi_user;
4216#line 594
4217 __cil_tmp23 = *__cil_tmp22;
4218#line 594
4219 __cil_tmp24 = (struct ipmi_addr *)(& smi_addr);
4220#line 594
4221 rv = ipmi_request_wait_for_response(__cil_tmp23, __cil_tmp24, & send_msg);
4222 }
4223#line 597
4224 if (rv) {
4225 {
4226#line 598
4227 printk("<3>IPMI poweroff: Unable to send IPMI get device id info, IPMI error 0x%x\n",
4228 rv);
4229 }
4230#line 600
4231 goto out_err;
4232 } else {
4233
4234 }
4235 {
4236#line 603
4237 __cil_tmp25 = 80 + 2;
4238#line 603
4239 __cil_tmp26 = (unsigned long )(& halt_recv_msg) + __cil_tmp25;
4240#line 603
4241 __cil_tmp27 = *((unsigned short *)__cil_tmp26);
4242#line 603
4243 __cil_tmp28 = (int )__cil_tmp27;
4244#line 603
4245 if (__cil_tmp28 < 12) {
4246 {
4247#line 604
4248 __cil_tmp29 = 80 + 2;
4249#line 604
4250 __cil_tmp30 = (unsigned long )(& halt_recv_msg) + __cil_tmp29;
4251#line 604
4252 __cil_tmp31 = *((unsigned short *)__cil_tmp30);
4253#line 604
4254 __cil_tmp32 = (int )__cil_tmp31;
4255#line 604
4256 printk("<3>IPMI poweroff: (chassis) IPMI get device id info too, short, was %d bytes, needed %d bytes\n",
4257 __cil_tmp32, 12);
4258 }
4259#line 607
4260 goto out_err;
4261 } else {
4262
4263 }
4264 }
4265#line 610
4266 __cil_tmp33 = & mfg_id;
4267#line 610
4268 __cil_tmp34 = 80 + 8;
4269#line 610
4270 __cil_tmp35 = (unsigned long )(& halt_recv_msg) + __cil_tmp34;
4271#line 610
4272 __cil_tmp36 = *((unsigned char **)__cil_tmp35);
4273#line 610
4274 __cil_tmp37 = __cil_tmp36 + 9;
4275#line 610
4276 __cil_tmp38 = *__cil_tmp37;
4277#line 610
4278 __cil_tmp39 = (int )__cil_tmp38;
4279#line 610
4280 __cil_tmp40 = __cil_tmp39 << 16;
4281#line 610
4282 __cil_tmp41 = 80 + 8;
4283#line 610
4284 __cil_tmp42 = (unsigned long )(& halt_recv_msg) + __cil_tmp41;
4285#line 610
4286 __cil_tmp43 = *((unsigned char **)__cil_tmp42);
4287#line 610
4288 __cil_tmp44 = __cil_tmp43 + 8;
4289#line 610
4290 __cil_tmp45 = *__cil_tmp44;
4291#line 610
4292 __cil_tmp46 = (int )__cil_tmp45;
4293#line 610
4294 __cil_tmp47 = __cil_tmp46 << 8;
4295#line 610
4296 __cil_tmp48 = 80 + 8;
4297#line 610
4298 __cil_tmp49 = (unsigned long )(& halt_recv_msg) + __cil_tmp48;
4299#line 610
4300 __cil_tmp50 = *((unsigned char **)__cil_tmp49);
4301#line 610
4302 __cil_tmp51 = __cil_tmp50 + 7;
4303#line 610
4304 __cil_tmp52 = *__cil_tmp51;
4305#line 610
4306 __cil_tmp53 = (int )__cil_tmp52;
4307#line 610
4308 __cil_tmp54 = __cil_tmp53 | __cil_tmp47;
4309#line 610
4310 __cil_tmp55 = __cil_tmp54 | __cil_tmp40;
4311#line 610
4312 *__cil_tmp33 = (unsigned int )__cil_tmp55;
4313#line 613
4314 __cil_tmp56 = 80 + 8;
4315#line 613
4316 __cil_tmp57 = (unsigned long )(& halt_recv_msg) + __cil_tmp56;
4317#line 613
4318 __cil_tmp58 = *((unsigned char **)__cil_tmp57);
4319#line 613
4320 __cil_tmp59 = __cil_tmp58 + 11;
4321#line 613
4322 __cil_tmp60 = *__cil_tmp59;
4323#line 613
4324 __cil_tmp61 = (int )__cil_tmp60;
4325#line 613
4326 __cil_tmp62 = __cil_tmp61 << 8;
4327#line 613
4328 __cil_tmp63 = 80 + 8;
4329#line 613
4330 __cil_tmp64 = (unsigned long )(& halt_recv_msg) + __cil_tmp63;
4331#line 613
4332 __cil_tmp65 = *((unsigned char **)__cil_tmp64);
4333#line 613
4334 __cil_tmp66 = __cil_tmp65 + 10;
4335#line 613
4336 __cil_tmp67 = *__cil_tmp66;
4337#line 613
4338 __cil_tmp68 = (int )__cil_tmp67;
4339#line 613
4340 __cil_tmp69 = __cil_tmp68 | __cil_tmp62;
4341#line 613
4342 prod_id = (unsigned int )__cil_tmp69;
4343#line 615
4344 __cil_tmp70 = 80 + 8;
4345#line 615
4346 __cil_tmp71 = (unsigned long )(& halt_recv_msg) + __cil_tmp70;
4347#line 615
4348 __cil_tmp72 = *((unsigned char **)__cil_tmp71);
4349#line 615
4350 __cil_tmp73 = __cil_tmp72 + 6;
4351#line 615
4352 capabilities = *__cil_tmp73;
4353#line 616
4354 __cil_tmp74 = 80 + 8;
4355#line 616
4356 __cil_tmp75 = (unsigned long )(& halt_recv_msg) + __cil_tmp74;
4357#line 616
4358 __cil_tmp76 = *((unsigned char **)__cil_tmp75);
4359#line 616
4360 __cil_tmp77 = __cil_tmp76 + 5;
4361#line 616
4362 ipmi_version = *__cil_tmp77;
4363#line 620
4364 i = 0;
4365 {
4366#line 620
4367 while (1) {
4368 while_continue: ;
4369 {
4370#line 620
4371 __cil_tmp78 = 96UL / 24UL;
4372#line 620
4373 __cil_tmp79 = (unsigned long )i;
4374#line 620
4375 if (__cil_tmp79 < __cil_tmp78) {
4376
4377 } else {
4378#line 620
4379 goto while_break;
4380 }
4381 }
4382 {
4383#line 621
4384 __cil_tmp80 = i * 24UL;
4385#line 621
4386 __cil_tmp81 = __cil_tmp80 + 8;
4387#line 621
4388 __cil_tmp82 = (unsigned long )(poweroff_functions) + __cil_tmp81;
4389#line 621
4390 __cil_tmp83 = *((int (**)(ipmi_user_t user ))__cil_tmp82);
4391#line 621
4392 __cil_tmp84 = & ipmi_user;
4393#line 621
4394 __cil_tmp85 = *__cil_tmp84;
4395#line 621
4396 tmp___3 = (*__cil_tmp83)(__cil_tmp85);
4397 }
4398#line 621
4399 if (tmp___3) {
4400#line 622
4401 goto found;
4402 } else {
4403
4404 }
4405#line 620
4406 i = i + 1;
4407 }
4408 while_break: ;
4409 }
4410 out_err:
4411 {
4412#line 626
4413 printk("<3>IPMI poweroff: Unable to find a poweroff function that will work, giving up\n");
4414#line 628
4415 __cil_tmp86 = & ipmi_user;
4416#line 628
4417 __cil_tmp87 = *__cil_tmp86;
4418#line 628
4419 ipmi_destroy_user(__cil_tmp87);
4420 }
4421#line 629
4422 return;
4423 found:
4424 {
4425#line 632
4426 __cil_tmp88 = i * 24UL;
4427#line 632
4428 __cil_tmp89 = (unsigned long )(poweroff_functions) + __cil_tmp88;
4429#line 632
4430 __cil_tmp90 = *((char **)__cil_tmp89);
4431#line 632
4432 printk("<6>IPMI poweroff: Found a %s style poweroff function\n", __cil_tmp90);
4433#line 634
4434 __cil_tmp91 = i * 24UL;
4435#line 634
4436 __cil_tmp92 = __cil_tmp91 + 16;
4437#line 634
4438 __cil_tmp93 = (unsigned long )(poweroff_functions) + __cil_tmp92;
4439#line 634
4440 specific_poweroff_func = *((void (**)(ipmi_user_t user ))__cil_tmp93);
4441#line 635
4442 old_poweroff_func = pm_power_off;
4443#line 636
4444 pm_power_off = & ipmi_poweroff_function;
4445#line 637
4446 ready = 1;
4447 }
4448#line 638
4449 return;
4450}
4451}
4452#line 640 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4453static void ipmi_po_smi_gone(int if_num )
4454{ ipmi_user_t *__cil_tmp2 ;
4455 ipmi_user_t __cil_tmp3 ;
4456
4457 {
4458#line 642
4459 if (! ready) {
4460#line 643
4461 return;
4462 } else {
4463
4464 }
4465#line 645
4466 if (ipmi_ifnum != if_num) {
4467#line 646
4468 return;
4469 } else {
4470
4471 }
4472 {
4473#line 648
4474 ready = 0;
4475#line 649
4476 __cil_tmp2 = & ipmi_user;
4477#line 649
4478 __cil_tmp3 = *__cil_tmp2;
4479#line 649
4480 ipmi_destroy_user(__cil_tmp3);
4481#line 650
4482 pm_power_off = old_poweroff_func;
4483 }
4484#line 651
4485 return;
4486}
4487}
4488#line 653 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4489static struct ipmi_smi_watcher smi_watcher = {{(struct list_head *)0, (struct list_head *)0}, & __this_module, & ipmi_po_new_smi,
4490 & ipmi_po_smi_gone};
4491#line 663 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4492static ctl_table ipmi_table[1] = { {"poweroff_powercycle", (void *)(& poweroff_powercycle), (int )sizeof(poweroff_powercycle),
4493 (umode_t )420, (struct ctl_table *)0, & proc_dointvec, (struct ctl_table_poll *)0,
4494 (void *)0, (void *)0}};
4495#line 672 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4496static ctl_table ipmi_dir_table[1] = { {"ipmi", (void *)0, 0, (umode_t )365, ipmi_table, (proc_handler *)0, (struct ctl_table_poll *)0,
4497 (void *)0, (void *)0}};
4498#line 679 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4499static ctl_table ipmi_root_table[1] = { {"dev", (void *)0, 0, (umode_t )365, ipmi_dir_table, (proc_handler *)0, (struct ctl_table_poll *)0,
4500 (void *)0, (void *)0}};
4501#line 686 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4502static struct ctl_table_header *ipmi_table_header ;
4503#line 692
4504static int ipmi_poweroff_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
4505#line 692 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4506static int ipmi_poweroff_init(void)
4507{ int rv ;
4508 int *__cil_tmp2 ;
4509 unsigned long __cil_tmp3 ;
4510 unsigned long __cil_tmp4 ;
4511 ctl_table *__cil_tmp5 ;
4512
4513 {
4514 {
4515#line 696
4516 printk("<6>Copyright (C) 2004 MontaVista Software - IPMI Powerdown via sys_reboot.\n");
4517 }
4518 {
4519#line 699
4520 __cil_tmp2 = & poweroff_powercycle;
4521#line 699
4522 if (*__cil_tmp2) {
4523 {
4524#line 700
4525 printk("<6>IPMI poweroff: Power cycle is enabled.\n");
4526 }
4527 } else {
4528
4529 }
4530 }
4531 {
4532#line 703
4533 __cil_tmp3 = 0 * 64UL;
4534#line 703
4535 __cil_tmp4 = (unsigned long )(ipmi_root_table) + __cil_tmp3;
4536#line 703
4537 __cil_tmp5 = (ctl_table *)__cil_tmp4;
4538#line 703
4539 ipmi_table_header = register_sysctl_table(__cil_tmp5);
4540 }
4541#line 704
4542 if (! ipmi_table_header) {
4543 {
4544#line 705
4545 printk("<3>IPMI poweroff: Unable to register powercycle sysctl\n");
4546#line 706
4547 rv = -12;
4548 }
4549#line 707
4550 goto out_err;
4551 } else {
4552
4553 }
4554 {
4555#line 711
4556 rv = ipmi_smi_watcher_register(& smi_watcher);
4557 }
4558#line 714
4559 if (rv) {
4560 {
4561#line 715
4562 unregister_sysctl_table(ipmi_table_header);
4563#line 716
4564 printk("<3>IPMI poweroff: Unable to register SMI watcher: %d\n", rv);
4565 }
4566#line 717
4567 goto out_err;
4568 } else {
4569
4570 }
4571 out_err:
4572#line 722
4573 return (rv);
4574}
4575}
4576#line 726
4577static void ipmi_poweroff_cleanup(void) __attribute__((__section__(".exit.text"),
4578__no_instrument_function__)) ;
4579#line 726 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4580static void ipmi_poweroff_cleanup(void)
4581{ int rv ;
4582 ipmi_user_t *__cil_tmp2 ;
4583 ipmi_user_t __cil_tmp3 ;
4584
4585 {
4586 {
4587#line 731
4588 unregister_sysctl_table(ipmi_table_header);
4589#line 734
4590 ipmi_smi_watcher_unregister(& smi_watcher);
4591 }
4592#line 736
4593 if (ready) {
4594 {
4595#line 737
4596 __cil_tmp2 = & ipmi_user;
4597#line 737
4598 __cil_tmp3 = *__cil_tmp2;
4599#line 737
4600 rv = ipmi_destroy_user(__cil_tmp3);
4601 }
4602#line 738
4603 if (rv) {
4604 {
4605#line 739
4606 printk("<3>IPMI poweroff: could not cleanup the IPMI user: 0x%x\n", rv);
4607 }
4608 } else {
4609
4610 }
4611#line 741
4612 pm_power_off = old_poweroff_func;
4613 } else {
4614
4615 }
4616#line 743
4617 return;
4618}
4619}
4620#line 744 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4621void cleanup_module(void)
4622{
4623
4624 {
4625 {
4626#line 744
4627 ipmi_poweroff_cleanup();
4628 }
4629#line 744
4630 return;
4631}
4632}
4633#line 747 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4634int init_module(void)
4635{ int tmp___3 ;
4636
4637 {
4638 {
4639#line 747
4640 tmp___3 = ipmi_poweroff_init();
4641 }
4642#line 747
4643 return (tmp___3);
4644}
4645}
4646#line 748 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4647static char const __mod_license748[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
4648__aligned__(1))) =
4649#line 748
4650 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
4651 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
4652 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
4653#line 749 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4654static char const __mod_author749[42] __attribute__((__used__, __unused__, __section__(".modinfo"),
4655__aligned__(1))) =
4656#line 749
4657 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
4658 (char const )'o', (char const )'r', (char const )'=', (char const )'C',
4659 (char const )'o', (char const )'r', (char const )'e', (char const )'y',
4660 (char const )' ', (char const )'M', (char const )'i', (char const )'n',
4661 (char const )'y', (char const )'a', (char const )'r', (char const )'d',
4662 (char const )' ', (char const )'<', (char const )'m', (char const )'i',
4663 (char const )'n', (char const )'y', (char const )'a', (char const )'r',
4664 (char const )'d', (char const )'@', (char const )'m', (char const )'v',
4665 (char const )'i', (char const )'s', (char const )'t', (char const )'a',
4666 (char const )'.', (char const )'c', (char const )'o', (char const )'m',
4667 (char const )'>', (char const )'\000'};
4668#line 750 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4669static char const __mod_description750[50] __attribute__((__used__, __unused__,
4670__section__(".modinfo"), __aligned__(1))) =
4671#line 750
4672 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
4673 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
4674 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
4675 (char const )'I', (char const )'P', (char const )'M', (char const )'I',
4676 (char const )' ', (char const )'P', (char const )'o', (char const )'w',
4677 (char const )'e', (char const )'r', (char const )'o', (char const )'f',
4678 (char const )'f', (char const )' ', (char const )'e', (char const )'x',
4679 (char const )'t', (char const )'e', (char const )'n', (char const )'s',
4680 (char const )'i', (char const )'o', (char const )'n', (char const )' ',
4681 (char const )'t', (char const )'o', (char const )' ', (char const )'s',
4682 (char const )'y', (char const )'s', (char const )'_', (char const )'r',
4683 (char const )'e', (char const )'b', (char const )'o', (char const )'o',
4684 (char const )'t', (char const )'\000'};
4685#line 768
4686void ldv_check_final_state(void) ;
4687#line 774
4688extern void ldv_initialize(void) ;
4689#line 777
4690extern int __VERIFIER_nondet_int(void) ;
4691#line 780 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4692int LDV_IN_INTERRUPT ;
4693#line 783 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
4694void main(void)
4695{ struct ipmi_smi_msg *var_group1 ;
4696 struct ipmi_recv_msg *var_group2 ;
4697 void *var_receive_handler_3_p1 ;
4698 int var_ipmi_po_new_smi_15_p0 ;
4699 struct device *var_group3 ;
4700 int var_ipmi_po_smi_gone_16_p0 ;
4701 int tmp___3 ;
4702 int tmp___4 ;
4703 int tmp___5 ;
4704
4705 {
4706 {
4707#line 1025
4708 LDV_IN_INTERRUPT = 1;
4709#line 1034
4710 ldv_initialize();
4711#line 1070
4712 tmp___3 = ipmi_poweroff_init();
4713 }
4714#line 1070
4715 if (tmp___3) {
4716#line 1071
4717 goto ldv_final;
4718 } else {
4719
4720 }
4721 {
4722#line 1087
4723 while (1) {
4724 while_continue: ;
4725 {
4726#line 1087
4727 tmp___5 = __VERIFIER_nondet_int();
4728 }
4729#line 1087
4730 if (tmp___5) {
4731
4732 } else {
4733#line 1087
4734 goto while_break;
4735 }
4736 {
4737#line 1090
4738 tmp___4 = __VERIFIER_nondet_int();
4739 }
4740#line 1092
4741 if (tmp___4 == 0) {
4742#line 1092
4743 goto case_0;
4744 } else
4745#line 1148
4746 if (tmp___4 == 1) {
4747#line 1148
4748 goto case_1;
4749 } else
4750#line 1204
4751 if (tmp___4 == 2) {
4752#line 1204
4753 goto case_2;
4754 } else
4755#line 1260
4756 if (tmp___4 == 3) {
4757#line 1260
4758 goto case_3;
4759 } else
4760#line 1316
4761 if (tmp___4 == 4) {
4762#line 1316
4763 goto case_4;
4764 } else {
4765 {
4766#line 1372
4767 goto switch_default;
4768#line 1090
4769 if (0) {
4770 case_0:
4771 {
4772#line 1104
4773 dummy_smi_free(var_group1);
4774 }
4775#line 1147
4776 goto switch_break;
4777 case_1:
4778 {
4779#line 1160
4780 dummy_recv_free(var_group2);
4781 }
4782#line 1203
4783 goto switch_break;
4784 case_2:
4785 {
4786#line 1216
4787 receive_handler(var_group2, var_receive_handler_3_p1);
4788 }
4789#line 1259
4790 goto switch_break;
4791 case_3:
4792 {
4793#line 1296
4794 ipmi_po_new_smi(var_ipmi_po_new_smi_15_p0, var_group3);
4795 }
4796#line 1315
4797 goto switch_break;
4798 case_4:
4799 {
4800#line 1352
4801 ipmi_po_smi_gone(var_ipmi_po_smi_gone_16_p0);
4802 }
4803#line 1371
4804 goto switch_break;
4805 switch_default:
4806#line 1372
4807 goto switch_break;
4808 } else {
4809 switch_break: ;
4810 }
4811 }
4812 }
4813 }
4814 while_break: ;
4815 }
4816 {
4817#line 1419
4818 ipmi_poweroff_cleanup();
4819 }
4820 ldv_final:
4821 {
4822#line 1425
4823 ldv_check_final_state();
4824 }
4825#line 1428
4826 return;
4827}
4828}
4829#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
4830void ldv_blast_assert(void)
4831{
4832
4833 {
4834 ERROR:
4835#line 6
4836 goto ERROR;
4837}
4838}
4839#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
4840extern int __VERIFIER_nondet_int(void) ;
4841#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4842int ldv_mutex = 1;
4843#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4844int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
4845{ int nondetermined ;
4846
4847 {
4848#line 29
4849 if (ldv_mutex == 1) {
4850
4851 } else {
4852 {
4853#line 29
4854 ldv_blast_assert();
4855 }
4856 }
4857 {
4858#line 32
4859 nondetermined = __VERIFIER_nondet_int();
4860 }
4861#line 35
4862 if (nondetermined) {
4863#line 38
4864 ldv_mutex = 2;
4865#line 40
4866 return (0);
4867 } else {
4868#line 45
4869 return (-4);
4870 }
4871}
4872}
4873#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4874int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
4875{ int nondetermined ;
4876
4877 {
4878#line 57
4879 if (ldv_mutex == 1) {
4880
4881 } else {
4882 {
4883#line 57
4884 ldv_blast_assert();
4885 }
4886 }
4887 {
4888#line 60
4889 nondetermined = __VERIFIER_nondet_int();
4890 }
4891#line 63
4892 if (nondetermined) {
4893#line 66
4894 ldv_mutex = 2;
4895#line 68
4896 return (0);
4897 } else {
4898#line 73
4899 return (-4);
4900 }
4901}
4902}
4903#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4904int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
4905{ int atomic_value_after_dec ;
4906
4907 {
4908#line 83
4909 if (ldv_mutex == 1) {
4910
4911 } else {
4912 {
4913#line 83
4914 ldv_blast_assert();
4915 }
4916 }
4917 {
4918#line 86
4919 atomic_value_after_dec = __VERIFIER_nondet_int();
4920 }
4921#line 89
4922 if (atomic_value_after_dec == 0) {
4923#line 92
4924 ldv_mutex = 2;
4925#line 94
4926 return (1);
4927 } else {
4928
4929 }
4930#line 98
4931 return (0);
4932}
4933}
4934#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4935void mutex_lock(struct mutex *lock )
4936{
4937
4938 {
4939#line 108
4940 if (ldv_mutex == 1) {
4941
4942 } else {
4943 {
4944#line 108
4945 ldv_blast_assert();
4946 }
4947 }
4948#line 110
4949 ldv_mutex = 2;
4950#line 111
4951 return;
4952}
4953}
4954#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4955int mutex_trylock(struct mutex *lock )
4956{ int nondetermined ;
4957
4958 {
4959#line 121
4960 if (ldv_mutex == 1) {
4961
4962 } else {
4963 {
4964#line 121
4965 ldv_blast_assert();
4966 }
4967 }
4968 {
4969#line 124
4970 nondetermined = __VERIFIER_nondet_int();
4971 }
4972#line 127
4973 if (nondetermined) {
4974#line 130
4975 ldv_mutex = 2;
4976#line 132
4977 return (1);
4978 } else {
4979#line 137
4980 return (0);
4981 }
4982}
4983}
4984#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4985void mutex_unlock(struct mutex *lock )
4986{
4987
4988 {
4989#line 147
4990 if (ldv_mutex == 2) {
4991
4992 } else {
4993 {
4994#line 147
4995 ldv_blast_assert();
4996 }
4997 }
4998#line 149
4999 ldv_mutex = 1;
5000#line 150
5001 return;
5002}
5003}
5004#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5005void ldv_check_final_state(void)
5006{
5007
5008 {
5009#line 156
5010 if (ldv_mutex == 1) {
5011
5012 } else {
5013 {
5014#line 156
5015 ldv_blast_assert();
5016 }
5017 }
5018#line 157
5019 return;
5020}
5021}
5022#line 1437 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16588/dscv_tempdir/dscv/ri/32_1/drivers/char/ipmi/ipmi_poweroff.c.common.c"
5023long s__builtin_expect(long val , long res )
5024{
5025
5026 {
5027#line 1438
5028 return (val);
5029}
5030}