1
2
3
4#line 23 "include/asm-generic/int-ll64.h"
5typedef unsigned short __u16;
6#line 26 "include/asm-generic/int-ll64.h"
7typedef unsigned int __u32;
8#line 30 "include/asm-generic/int-ll64.h"
9typedef unsigned long long __u64;
10#line 43 "include/asm-generic/int-ll64.h"
11typedef unsigned char u8;
12#line 45 "include/asm-generic/int-ll64.h"
13typedef short s16;
14#line 46 "include/asm-generic/int-ll64.h"
15typedef unsigned short u16;
16#line 49 "include/asm-generic/int-ll64.h"
17typedef unsigned int u32;
18#line 51 "include/asm-generic/int-ll64.h"
19typedef long long s64;
20#line 52 "include/asm-generic/int-ll64.h"
21typedef unsigned long long u64;
22#line 14 "include/asm-generic/posix_types.h"
23typedef long __kernel_long_t;
24#line 15 "include/asm-generic/posix_types.h"
25typedef unsigned long __kernel_ulong_t;
26#line 75 "include/asm-generic/posix_types.h"
27typedef __kernel_ulong_t __kernel_size_t;
28#line 76 "include/asm-generic/posix_types.h"
29typedef __kernel_long_t __kernel_ssize_t;
30#line 91 "include/asm-generic/posix_types.h"
31typedef long long __kernel_loff_t;
32#line 21 "include/linux/types.h"
33typedef __u32 __kernel_dev_t;
34#line 24 "include/linux/types.h"
35typedef __kernel_dev_t dev_t;
36#line 27 "include/linux/types.h"
37typedef unsigned short umode_t;
38#line 38 "include/linux/types.h"
39typedef _Bool bool;
40#line 54 "include/linux/types.h"
41typedef __kernel_loff_t loff_t;
42#line 63 "include/linux/types.h"
43typedef __kernel_size_t size_t;
44#line 68 "include/linux/types.h"
45typedef __kernel_ssize_t ssize_t;
46#line 155 "include/linux/types.h"
47typedef u64 dma_addr_t;
48#line 202 "include/linux/types.h"
49typedef unsigned int gfp_t;
50#line 221 "include/linux/types.h"
51struct __anonstruct_atomic_t_6 {
52 int counter ;
53};
54#line 221 "include/linux/types.h"
55typedef struct __anonstruct_atomic_t_6 atomic_t;
56#line 226 "include/linux/types.h"
57struct __anonstruct_atomic64_t_7 {
58 long counter ;
59};
60#line 226 "include/linux/types.h"
61typedef struct __anonstruct_atomic64_t_7 atomic64_t;
62#line 227 "include/linux/types.h"
63struct list_head {
64 struct list_head *next ;
65 struct list_head *prev ;
66};
67#line 232
68struct hlist_node;
69#line 232 "include/linux/types.h"
70struct hlist_head {
71 struct hlist_node *first ;
72};
73#line 236 "include/linux/types.h"
74struct hlist_node {
75 struct hlist_node *next ;
76 struct hlist_node **pprev ;
77};
78#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
79struct module;
80#line 55
81struct module;
82#line 146 "include/linux/init.h"
83typedef void (*ctor_fn_t)(void);
84#line 46 "include/linux/dynamic_debug.h"
85struct device;
86#line 46
87struct device;
88#line 57
89struct completion;
90#line 57
91struct completion;
92#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
93struct page;
94#line 58
95struct page;
96#line 26 "include/asm-generic/getorder.h"
97struct task_struct;
98#line 26
99struct task_struct;
100#line 28
101struct mm_struct;
102#line 28
103struct mm_struct;
104#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
105typedef unsigned long pgdval_t;
106#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
107typedef unsigned long pgprotval_t;
108#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
109struct pgprot {
110 pgprotval_t pgprot ;
111};
112#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
113typedef struct pgprot pgprot_t;
114#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
115struct __anonstruct_pgd_t_16 {
116 pgdval_t pgd ;
117};
118#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
119typedef struct __anonstruct_pgd_t_16 pgd_t;
120#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
121typedef struct page *pgtable_t;
122#line 290
123struct file;
124#line 290
125struct file;
126#line 339
127struct cpumask;
128#line 339
129struct cpumask;
130#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
131struct arch_spinlock;
132#line 327
133struct arch_spinlock;
134#line 306 "include/linux/bitmap.h"
135struct bug_entry {
136 int bug_addr_disp ;
137 int file_disp ;
138 unsigned short line ;
139 unsigned short flags ;
140};
141#line 89 "include/linux/bug.h"
142struct cpumask {
143 unsigned long bits[64U] ;
144};
145#line 637 "include/linux/cpumask.h"
146typedef struct cpumask *cpumask_var_t;
147#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
148struct static_key;
149#line 234
150struct static_key;
151#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
152struct kmem_cache;
153#line 23 "include/asm-generic/atomic-long.h"
154typedef atomic64_t atomic_long_t;
155#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
156typedef u16 __ticket_t;
157#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
158typedef u32 __ticketpair_t;
159#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
160struct __raw_tickets {
161 __ticket_t head ;
162 __ticket_t tail ;
163};
164#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
165union __anonunion_ldv_5907_29 {
166 __ticketpair_t head_tail ;
167 struct __raw_tickets tickets ;
168};
169#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
170struct arch_spinlock {
171 union __anonunion_ldv_5907_29 ldv_5907 ;
172};
173#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
174typedef struct arch_spinlock arch_spinlock_t;
175#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
176struct lockdep_map;
177#line 34
178struct lockdep_map;
179#line 55 "include/linux/debug_locks.h"
180struct stack_trace {
181 unsigned int nr_entries ;
182 unsigned int max_entries ;
183 unsigned long *entries ;
184 int skip ;
185};
186#line 26 "include/linux/stacktrace.h"
187struct lockdep_subclass_key {
188 char __one_byte ;
189};
190#line 53 "include/linux/lockdep.h"
191struct lock_class_key {
192 struct lockdep_subclass_key subkeys[8U] ;
193};
194#line 59 "include/linux/lockdep.h"
195struct lock_class {
196 struct list_head hash_entry ;
197 struct list_head lock_entry ;
198 struct lockdep_subclass_key *key ;
199 unsigned int subclass ;
200 unsigned int dep_gen_id ;
201 unsigned long usage_mask ;
202 struct stack_trace usage_traces[13U] ;
203 struct list_head locks_after ;
204 struct list_head locks_before ;
205 unsigned int version ;
206 unsigned long ops ;
207 char const *name ;
208 int name_version ;
209 unsigned long contention_point[4U] ;
210 unsigned long contending_point[4U] ;
211};
212#line 144 "include/linux/lockdep.h"
213struct lockdep_map {
214 struct lock_class_key *key ;
215 struct lock_class *class_cache[2U] ;
216 char const *name ;
217 int cpu ;
218 unsigned long ip ;
219};
220#line 556 "include/linux/lockdep.h"
221struct raw_spinlock {
222 arch_spinlock_t raw_lock ;
223 unsigned int magic ;
224 unsigned int owner_cpu ;
225 void *owner ;
226 struct lockdep_map dep_map ;
227};
228#line 32 "include/linux/spinlock_types.h"
229typedef struct raw_spinlock raw_spinlock_t;
230#line 33 "include/linux/spinlock_types.h"
231struct __anonstruct_ldv_6122_33 {
232 u8 __padding[24U] ;
233 struct lockdep_map dep_map ;
234};
235#line 33 "include/linux/spinlock_types.h"
236union __anonunion_ldv_6123_32 {
237 struct raw_spinlock rlock ;
238 struct __anonstruct_ldv_6122_33 ldv_6122 ;
239};
240#line 33 "include/linux/spinlock_types.h"
241struct spinlock {
242 union __anonunion_ldv_6123_32 ldv_6123 ;
243};
244#line 76 "include/linux/spinlock_types.h"
245typedef struct spinlock spinlock_t;
246#line 48 "include/linux/wait.h"
247struct __wait_queue_head {
248 spinlock_t lock ;
249 struct list_head task_list ;
250};
251#line 53 "include/linux/wait.h"
252typedef struct __wait_queue_head wait_queue_head_t;
253#line 98 "include/linux/nodemask.h"
254struct __anonstruct_nodemask_t_36 {
255 unsigned long bits[16U] ;
256};
257#line 98 "include/linux/nodemask.h"
258typedef struct __anonstruct_nodemask_t_36 nodemask_t;
259#line 670 "include/linux/mmzone.h"
260struct mutex {
261 atomic_t count ;
262 spinlock_t wait_lock ;
263 struct list_head wait_list ;
264 struct task_struct *owner ;
265 char const *name ;
266 void *magic ;
267 struct lockdep_map dep_map ;
268};
269#line 171 "include/linux/mutex.h"
270struct rw_semaphore;
271#line 171
272struct rw_semaphore;
273#line 172 "include/linux/mutex.h"
274struct rw_semaphore {
275 long count ;
276 raw_spinlock_t wait_lock ;
277 struct list_head wait_list ;
278 struct lockdep_map dep_map ;
279};
280#line 128 "include/linux/rwsem.h"
281struct completion {
282 unsigned int done ;
283 wait_queue_head_t wait ;
284};
285#line 312 "include/linux/jiffies.h"
286union ktime {
287 s64 tv64 ;
288};
289#line 59 "include/linux/ktime.h"
290typedef union ktime ktime_t;
291#line 341
292struct tvec_base;
293#line 341
294struct tvec_base;
295#line 342 "include/linux/ktime.h"
296struct timer_list {
297 struct list_head entry ;
298 unsigned long expires ;
299 struct tvec_base *base ;
300 void (*function)(unsigned long ) ;
301 unsigned long data ;
302 int slack ;
303 int start_pid ;
304 void *start_site ;
305 char start_comm[16U] ;
306 struct lockdep_map lockdep_map ;
307};
308#line 302 "include/linux/timer.h"
309struct work_struct;
310#line 302
311struct work_struct;
312#line 45 "include/linux/workqueue.h"
313struct work_struct {
314 atomic_long_t data ;
315 struct list_head entry ;
316 void (*func)(struct work_struct * ) ;
317 struct lockdep_map lockdep_map ;
318};
319#line 46 "include/linux/pm.h"
320struct pm_message {
321 int event ;
322};
323#line 52 "include/linux/pm.h"
324typedef struct pm_message pm_message_t;
325#line 53 "include/linux/pm.h"
326struct dev_pm_ops {
327 int (*prepare)(struct device * ) ;
328 void (*complete)(struct device * ) ;
329 int (*suspend)(struct device * ) ;
330 int (*resume)(struct device * ) ;
331 int (*freeze)(struct device * ) ;
332 int (*thaw)(struct device * ) ;
333 int (*poweroff)(struct device * ) ;
334 int (*restore)(struct device * ) ;
335 int (*suspend_late)(struct device * ) ;
336 int (*resume_early)(struct device * ) ;
337 int (*freeze_late)(struct device * ) ;
338 int (*thaw_early)(struct device * ) ;
339 int (*poweroff_late)(struct device * ) ;
340 int (*restore_early)(struct device * ) ;
341 int (*suspend_noirq)(struct device * ) ;
342 int (*resume_noirq)(struct device * ) ;
343 int (*freeze_noirq)(struct device * ) ;
344 int (*thaw_noirq)(struct device * ) ;
345 int (*poweroff_noirq)(struct device * ) ;
346 int (*restore_noirq)(struct device * ) ;
347 int (*runtime_suspend)(struct device * ) ;
348 int (*runtime_resume)(struct device * ) ;
349 int (*runtime_idle)(struct device * ) ;
350};
351#line 289
352enum rpm_status {
353 RPM_ACTIVE = 0,
354 RPM_RESUMING = 1,
355 RPM_SUSPENDED = 2,
356 RPM_SUSPENDING = 3
357} ;
358#line 296
359enum rpm_request {
360 RPM_REQ_NONE = 0,
361 RPM_REQ_IDLE = 1,
362 RPM_REQ_SUSPEND = 2,
363 RPM_REQ_AUTOSUSPEND = 3,
364 RPM_REQ_RESUME = 4
365} ;
366#line 304
367struct wakeup_source;
368#line 304
369struct wakeup_source;
370#line 494 "include/linux/pm.h"
371struct pm_subsys_data {
372 spinlock_t lock ;
373 unsigned int refcount ;
374};
375#line 499
376struct dev_pm_qos_request;
377#line 499
378struct pm_qos_constraints;
379#line 499 "include/linux/pm.h"
380struct dev_pm_info {
381 pm_message_t power_state ;
382 unsigned char can_wakeup : 1 ;
383 unsigned char async_suspend : 1 ;
384 bool is_prepared ;
385 bool is_suspended ;
386 bool ignore_children ;
387 spinlock_t lock ;
388 struct list_head entry ;
389 struct completion completion ;
390 struct wakeup_source *wakeup ;
391 bool wakeup_path ;
392 struct timer_list suspend_timer ;
393 unsigned long timer_expires ;
394 struct work_struct work ;
395 wait_queue_head_t wait_queue ;
396 atomic_t usage_count ;
397 atomic_t child_count ;
398 unsigned char disable_depth : 3 ;
399 unsigned char idle_notification : 1 ;
400 unsigned char request_pending : 1 ;
401 unsigned char deferred_resume : 1 ;
402 unsigned char run_wake : 1 ;
403 unsigned char runtime_auto : 1 ;
404 unsigned char no_callbacks : 1 ;
405 unsigned char irq_safe : 1 ;
406 unsigned char use_autosuspend : 1 ;
407 unsigned char timer_autosuspends : 1 ;
408 enum rpm_request request ;
409 enum rpm_status runtime_status ;
410 int runtime_error ;
411 int autosuspend_delay ;
412 unsigned long last_busy ;
413 unsigned long active_jiffies ;
414 unsigned long suspended_jiffies ;
415 unsigned long accounting_timestamp ;
416 ktime_t suspend_time ;
417 s64 max_time_suspended_ns ;
418 struct dev_pm_qos_request *pq_req ;
419 struct pm_subsys_data *subsys_data ;
420 struct pm_qos_constraints *constraints ;
421};
422#line 558 "include/linux/pm.h"
423struct dev_pm_domain {
424 struct dev_pm_ops ops ;
425};
426#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
427struct __anonstruct_mm_context_t_101 {
428 void *ldt ;
429 int size ;
430 unsigned short ia32_compat ;
431 struct mutex lock ;
432 void *vdso ;
433};
434#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
435typedef struct __anonstruct_mm_context_t_101 mm_context_t;
436#line 18 "include/asm-generic/pci_iomap.h"
437struct vm_area_struct;
438#line 18
439struct vm_area_struct;
440#line 835 "include/linux/sysctl.h"
441struct rb_node {
442 unsigned long rb_parent_color ;
443 struct rb_node *rb_right ;
444 struct rb_node *rb_left ;
445};
446#line 108 "include/linux/rbtree.h"
447struct rb_root {
448 struct rb_node *rb_node ;
449};
450#line 18 "include/linux/elf.h"
451typedef __u64 Elf64_Addr;
452#line 19 "include/linux/elf.h"
453typedef __u16 Elf64_Half;
454#line 23 "include/linux/elf.h"
455typedef __u32 Elf64_Word;
456#line 24 "include/linux/elf.h"
457typedef __u64 Elf64_Xword;
458#line 193 "include/linux/elf.h"
459struct elf64_sym {
460 Elf64_Word st_name ;
461 unsigned char st_info ;
462 unsigned char st_other ;
463 Elf64_Half st_shndx ;
464 Elf64_Addr st_value ;
465 Elf64_Xword st_size ;
466};
467#line 201 "include/linux/elf.h"
468typedef struct elf64_sym Elf64_Sym;
469#line 445
470struct sock;
471#line 445
472struct sock;
473#line 446
474struct kobject;
475#line 446
476struct kobject;
477#line 447
478enum kobj_ns_type {
479 KOBJ_NS_TYPE_NONE = 0,
480 KOBJ_NS_TYPE_NET = 1,
481 KOBJ_NS_TYPES = 2
482} ;
483#line 453 "include/linux/elf.h"
484struct kobj_ns_type_operations {
485 enum kobj_ns_type type ;
486 void *(*grab_current_ns)(void) ;
487 void const *(*netlink_ns)(struct sock * ) ;
488 void const *(*initial_ns)(void) ;
489 void (*drop_ns)(void * ) ;
490};
491#line 57 "include/linux/kobject_ns.h"
492struct attribute {
493 char const *name ;
494 umode_t mode ;
495 struct lock_class_key *key ;
496 struct lock_class_key skey ;
497};
498#line 33 "include/linux/sysfs.h"
499struct attribute_group {
500 char const *name ;
501 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
502 struct attribute **attrs ;
503};
504#line 62 "include/linux/sysfs.h"
505struct bin_attribute {
506 struct attribute attr ;
507 size_t size ;
508 void *private ;
509 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
510 loff_t , size_t ) ;
511 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
512 loff_t , size_t ) ;
513 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
514};
515#line 98 "include/linux/sysfs.h"
516struct sysfs_ops {
517 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
518 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
519 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
520};
521#line 117
522struct sysfs_dirent;
523#line 117
524struct sysfs_dirent;
525#line 182 "include/linux/sysfs.h"
526struct kref {
527 atomic_t refcount ;
528};
529#line 49 "include/linux/kobject.h"
530struct kset;
531#line 49
532struct kobj_type;
533#line 49 "include/linux/kobject.h"
534struct kobject {
535 char const *name ;
536 struct list_head entry ;
537 struct kobject *parent ;
538 struct kset *kset ;
539 struct kobj_type *ktype ;
540 struct sysfs_dirent *sd ;
541 struct kref kref ;
542 unsigned char state_initialized : 1 ;
543 unsigned char state_in_sysfs : 1 ;
544 unsigned char state_add_uevent_sent : 1 ;
545 unsigned char state_remove_uevent_sent : 1 ;
546 unsigned char uevent_suppress : 1 ;
547};
548#line 107 "include/linux/kobject.h"
549struct kobj_type {
550 void (*release)(struct kobject * ) ;
551 struct sysfs_ops const *sysfs_ops ;
552 struct attribute **default_attrs ;
553 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
554 void const *(*namespace)(struct kobject * ) ;
555};
556#line 115 "include/linux/kobject.h"
557struct kobj_uevent_env {
558 char *envp[32U] ;
559 int envp_idx ;
560 char buf[2048U] ;
561 int buflen ;
562};
563#line 122 "include/linux/kobject.h"
564struct kset_uevent_ops {
565 int (* const filter)(struct kset * , struct kobject * ) ;
566 char const *(* const name)(struct kset * , struct kobject * ) ;
567 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
568};
569#line 139 "include/linux/kobject.h"
570struct kset {
571 struct list_head list ;
572 spinlock_t list_lock ;
573 struct kobject kobj ;
574 struct kset_uevent_ops const *uevent_ops ;
575};
576#line 215
577struct kernel_param;
578#line 215
579struct kernel_param;
580#line 216 "include/linux/kobject.h"
581struct kernel_param_ops {
582 int (*set)(char const * , struct kernel_param const * ) ;
583 int (*get)(char * , struct kernel_param const * ) ;
584 void (*free)(void * ) ;
585};
586#line 49 "include/linux/moduleparam.h"
587struct kparam_string;
588#line 49
589struct kparam_array;
590#line 49 "include/linux/moduleparam.h"
591union __anonunion_ldv_13363_134 {
592 void *arg ;
593 struct kparam_string const *str ;
594 struct kparam_array const *arr ;
595};
596#line 49 "include/linux/moduleparam.h"
597struct kernel_param {
598 char const *name ;
599 struct kernel_param_ops const *ops ;
600 u16 perm ;
601 s16 level ;
602 union __anonunion_ldv_13363_134 ldv_13363 ;
603};
604#line 61 "include/linux/moduleparam.h"
605struct kparam_string {
606 unsigned int maxlen ;
607 char *string ;
608};
609#line 67 "include/linux/moduleparam.h"
610struct kparam_array {
611 unsigned int max ;
612 unsigned int elemsize ;
613 unsigned int *num ;
614 struct kernel_param_ops const *ops ;
615 void *elem ;
616};
617#line 458 "include/linux/moduleparam.h"
618struct static_key {
619 atomic_t enabled ;
620};
621#line 225 "include/linux/jump_label.h"
622struct tracepoint;
623#line 225
624struct tracepoint;
625#line 226 "include/linux/jump_label.h"
626struct tracepoint_func {
627 void *func ;
628 void *data ;
629};
630#line 29 "include/linux/tracepoint.h"
631struct tracepoint {
632 char const *name ;
633 struct static_key key ;
634 void (*regfunc)(void) ;
635 void (*unregfunc)(void) ;
636 struct tracepoint_func *funcs ;
637};
638#line 86 "include/linux/tracepoint.h"
639struct kernel_symbol {
640 unsigned long value ;
641 char const *name ;
642};
643#line 27 "include/linux/export.h"
644struct mod_arch_specific {
645
646};
647#line 34 "include/linux/module.h"
648struct module_param_attrs;
649#line 34 "include/linux/module.h"
650struct module_kobject {
651 struct kobject kobj ;
652 struct module *mod ;
653 struct kobject *drivers_dir ;
654 struct module_param_attrs *mp ;
655};
656#line 43 "include/linux/module.h"
657struct module_attribute {
658 struct attribute attr ;
659 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
660 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
661 size_t ) ;
662 void (*setup)(struct module * , char const * ) ;
663 int (*test)(struct module * ) ;
664 void (*free)(struct module * ) ;
665};
666#line 69
667struct exception_table_entry;
668#line 69
669struct exception_table_entry;
670#line 198
671enum module_state {
672 MODULE_STATE_LIVE = 0,
673 MODULE_STATE_COMING = 1,
674 MODULE_STATE_GOING = 2
675} ;
676#line 204 "include/linux/module.h"
677struct module_ref {
678 unsigned long incs ;
679 unsigned long decs ;
680};
681#line 219
682struct module_sect_attrs;
683#line 219
684struct module_notes_attrs;
685#line 219
686struct ftrace_event_call;
687#line 219 "include/linux/module.h"
688struct module {
689 enum module_state state ;
690 struct list_head list ;
691 char name[56U] ;
692 struct module_kobject mkobj ;
693 struct module_attribute *modinfo_attrs ;
694 char const *version ;
695 char const *srcversion ;
696 struct kobject *holders_dir ;
697 struct kernel_symbol const *syms ;
698 unsigned long const *crcs ;
699 unsigned int num_syms ;
700 struct kernel_param *kp ;
701 unsigned int num_kp ;
702 unsigned int num_gpl_syms ;
703 struct kernel_symbol const *gpl_syms ;
704 unsigned long const *gpl_crcs ;
705 struct kernel_symbol const *unused_syms ;
706 unsigned long const *unused_crcs ;
707 unsigned int num_unused_syms ;
708 unsigned int num_unused_gpl_syms ;
709 struct kernel_symbol const *unused_gpl_syms ;
710 unsigned long const *unused_gpl_crcs ;
711 struct kernel_symbol const *gpl_future_syms ;
712 unsigned long const *gpl_future_crcs ;
713 unsigned int num_gpl_future_syms ;
714 unsigned int num_exentries ;
715 struct exception_table_entry *extable ;
716 int (*init)(void) ;
717 void *module_init ;
718 void *module_core ;
719 unsigned int init_size ;
720 unsigned int core_size ;
721 unsigned int init_text_size ;
722 unsigned int core_text_size ;
723 unsigned int init_ro_size ;
724 unsigned int core_ro_size ;
725 struct mod_arch_specific arch ;
726 unsigned int taints ;
727 unsigned int num_bugs ;
728 struct list_head bug_list ;
729 struct bug_entry *bug_table ;
730 Elf64_Sym *symtab ;
731 Elf64_Sym *core_symtab ;
732 unsigned int num_symtab ;
733 unsigned int core_num_syms ;
734 char *strtab ;
735 char *core_strtab ;
736 struct module_sect_attrs *sect_attrs ;
737 struct module_notes_attrs *notes_attrs ;
738 char *args ;
739 void *percpu ;
740 unsigned int percpu_size ;
741 unsigned int num_tracepoints ;
742 struct tracepoint * const *tracepoints_ptrs ;
743 unsigned int num_trace_bprintk_fmt ;
744 char const **trace_bprintk_fmt_start ;
745 struct ftrace_event_call **trace_events ;
746 unsigned int num_trace_events ;
747 struct list_head source_list ;
748 struct list_head target_list ;
749 struct task_struct *waiter ;
750 void (*exit)(void) ;
751 struct module_ref *refptr ;
752 ctor_fn_t (**ctors)(void) ;
753 unsigned int num_ctors ;
754};
755#line 88 "include/linux/kmemleak.h"
756struct kmem_cache_cpu {
757 void **freelist ;
758 unsigned long tid ;
759 struct page *page ;
760 struct page *partial ;
761 int node ;
762 unsigned int stat[26U] ;
763};
764#line 55 "include/linux/slub_def.h"
765struct kmem_cache_node {
766 spinlock_t list_lock ;
767 unsigned long nr_partial ;
768 struct list_head partial ;
769 atomic_long_t nr_slabs ;
770 atomic_long_t total_objects ;
771 struct list_head full ;
772};
773#line 66 "include/linux/slub_def.h"
774struct kmem_cache_order_objects {
775 unsigned long x ;
776};
777#line 76 "include/linux/slub_def.h"
778struct kmem_cache {
779 struct kmem_cache_cpu *cpu_slab ;
780 unsigned long flags ;
781 unsigned long min_partial ;
782 int size ;
783 int objsize ;
784 int offset ;
785 int cpu_partial ;
786 struct kmem_cache_order_objects oo ;
787 struct kmem_cache_order_objects max ;
788 struct kmem_cache_order_objects min ;
789 gfp_t allocflags ;
790 int refcount ;
791 void (*ctor)(void * ) ;
792 int inuse ;
793 int align ;
794 int reserved ;
795 char const *name ;
796 struct list_head list ;
797 struct kobject kobj ;
798 int remote_node_defrag_ratio ;
799 struct kmem_cache_node *node[1024U] ;
800};
801#line 334 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
802struct comedi_insn {
803 unsigned int insn ;
804 unsigned int n ;
805 unsigned int *data ;
806 unsigned int subdev ;
807 unsigned int chanspec ;
808 unsigned int unused[3U] ;
809};
810#line 348 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
811struct comedi_cmd {
812 unsigned int subdev ;
813 unsigned int flags ;
814 unsigned int start_src ;
815 unsigned int start_arg ;
816 unsigned int scan_begin_src ;
817 unsigned int scan_begin_arg ;
818 unsigned int convert_src ;
819 unsigned int convert_arg ;
820 unsigned int scan_end_src ;
821 unsigned int scan_end_arg ;
822 unsigned int stop_src ;
823 unsigned int stop_arg ;
824 unsigned int *chanlist ;
825 unsigned int chanlist_len ;
826 short *data ;
827 unsigned int data_len ;
828};
829#line 387 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
830struct comedi_krange {
831 int min ;
832 int max ;
833 unsigned int flags ;
834};
835#line 418 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedi.h"
836struct comedi_devconfig {
837 char board_name[20U] ;
838 int options[32U] ;
839};
840#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedilib.h"
841struct comedi_device;
842#line 54 "include/linux/delay.h"
843struct prio_tree_node;
844#line 54 "include/linux/delay.h"
845struct raw_prio_tree_node {
846 struct prio_tree_node *left ;
847 struct prio_tree_node *right ;
848 struct prio_tree_node *parent ;
849};
850#line 19 "include/linux/prio_tree.h"
851struct prio_tree_node {
852 struct prio_tree_node *left ;
853 struct prio_tree_node *right ;
854 struct prio_tree_node *parent ;
855 unsigned long start ;
856 unsigned long last ;
857};
858#line 116
859struct address_space;
860#line 116
861struct address_space;
862#line 117 "include/linux/prio_tree.h"
863union __anonunion_ldv_14709_136 {
864 unsigned long index ;
865 void *freelist ;
866};
867#line 117 "include/linux/prio_tree.h"
868struct __anonstruct_ldv_14719_140 {
869 unsigned short inuse ;
870 unsigned short objects : 15 ;
871 unsigned char frozen : 1 ;
872};
873#line 117 "include/linux/prio_tree.h"
874union __anonunion_ldv_14720_139 {
875 atomic_t _mapcount ;
876 struct __anonstruct_ldv_14719_140 ldv_14719 ;
877};
878#line 117 "include/linux/prio_tree.h"
879struct __anonstruct_ldv_14722_138 {
880 union __anonunion_ldv_14720_139 ldv_14720 ;
881 atomic_t _count ;
882};
883#line 117 "include/linux/prio_tree.h"
884union __anonunion_ldv_14723_137 {
885 unsigned long counters ;
886 struct __anonstruct_ldv_14722_138 ldv_14722 ;
887};
888#line 117 "include/linux/prio_tree.h"
889struct __anonstruct_ldv_14724_135 {
890 union __anonunion_ldv_14709_136 ldv_14709 ;
891 union __anonunion_ldv_14723_137 ldv_14723 ;
892};
893#line 117 "include/linux/prio_tree.h"
894struct __anonstruct_ldv_14731_142 {
895 struct page *next ;
896 int pages ;
897 int pobjects ;
898};
899#line 117 "include/linux/prio_tree.h"
900union __anonunion_ldv_14732_141 {
901 struct list_head lru ;
902 struct __anonstruct_ldv_14731_142 ldv_14731 ;
903};
904#line 117 "include/linux/prio_tree.h"
905union __anonunion_ldv_14737_143 {
906 unsigned long private ;
907 struct kmem_cache *slab ;
908 struct page *first_page ;
909};
910#line 117 "include/linux/prio_tree.h"
911struct page {
912 unsigned long flags ;
913 struct address_space *mapping ;
914 struct __anonstruct_ldv_14724_135 ldv_14724 ;
915 union __anonunion_ldv_14732_141 ldv_14732 ;
916 union __anonunion_ldv_14737_143 ldv_14737 ;
917 unsigned long debug_flags ;
918};
919#line 192 "include/linux/mm_types.h"
920struct __anonstruct_vm_set_145 {
921 struct list_head list ;
922 void *parent ;
923 struct vm_area_struct *head ;
924};
925#line 192 "include/linux/mm_types.h"
926union __anonunion_shared_144 {
927 struct __anonstruct_vm_set_145 vm_set ;
928 struct raw_prio_tree_node prio_tree_node ;
929};
930#line 192
931struct anon_vma;
932#line 192
933struct vm_operations_struct;
934#line 192
935struct mempolicy;
936#line 192 "include/linux/mm_types.h"
937struct vm_area_struct {
938 struct mm_struct *vm_mm ;
939 unsigned long vm_start ;
940 unsigned long vm_end ;
941 struct vm_area_struct *vm_next ;
942 struct vm_area_struct *vm_prev ;
943 pgprot_t vm_page_prot ;
944 unsigned long vm_flags ;
945 struct rb_node vm_rb ;
946 union __anonunion_shared_144 shared ;
947 struct list_head anon_vma_chain ;
948 struct anon_vma *anon_vma ;
949 struct vm_operations_struct const *vm_ops ;
950 unsigned long vm_pgoff ;
951 struct file *vm_file ;
952 void *vm_private_data ;
953 struct mempolicy *vm_policy ;
954};
955#line 255 "include/linux/mm_types.h"
956struct core_thread {
957 struct task_struct *task ;
958 struct core_thread *next ;
959};
960#line 261 "include/linux/mm_types.h"
961struct core_state {
962 atomic_t nr_threads ;
963 struct core_thread dumper ;
964 struct completion startup ;
965};
966#line 274 "include/linux/mm_types.h"
967struct mm_rss_stat {
968 atomic_long_t count[3U] ;
969};
970#line 287
971struct linux_binfmt;
972#line 287
973struct mmu_notifier_mm;
974#line 287 "include/linux/mm_types.h"
975struct mm_struct {
976 struct vm_area_struct *mmap ;
977 struct rb_root mm_rb ;
978 struct vm_area_struct *mmap_cache ;
979 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
980 unsigned long , unsigned long ) ;
981 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
982 unsigned long mmap_base ;
983 unsigned long task_size ;
984 unsigned long cached_hole_size ;
985 unsigned long free_area_cache ;
986 pgd_t *pgd ;
987 atomic_t mm_users ;
988 atomic_t mm_count ;
989 int map_count ;
990 spinlock_t page_table_lock ;
991 struct rw_semaphore mmap_sem ;
992 struct list_head mmlist ;
993 unsigned long hiwater_rss ;
994 unsigned long hiwater_vm ;
995 unsigned long total_vm ;
996 unsigned long locked_vm ;
997 unsigned long pinned_vm ;
998 unsigned long shared_vm ;
999 unsigned long exec_vm ;
1000 unsigned long stack_vm ;
1001 unsigned long reserved_vm ;
1002 unsigned long def_flags ;
1003 unsigned long nr_ptes ;
1004 unsigned long start_code ;
1005 unsigned long end_code ;
1006 unsigned long start_data ;
1007 unsigned long end_data ;
1008 unsigned long start_brk ;
1009 unsigned long brk ;
1010 unsigned long start_stack ;
1011 unsigned long arg_start ;
1012 unsigned long arg_end ;
1013 unsigned long env_start ;
1014 unsigned long env_end ;
1015 unsigned long saved_auxv[44U] ;
1016 struct mm_rss_stat rss_stat ;
1017 struct linux_binfmt *binfmt ;
1018 cpumask_var_t cpu_vm_mask_var ;
1019 mm_context_t context ;
1020 unsigned int faultstamp ;
1021 unsigned int token_priority ;
1022 unsigned int last_interval ;
1023 unsigned long flags ;
1024 struct core_state *core_state ;
1025 spinlock_t ioctx_lock ;
1026 struct hlist_head ioctx_list ;
1027 struct task_struct *owner ;
1028 struct file *exe_file ;
1029 unsigned long num_exe_file_vmas ;
1030 struct mmu_notifier_mm *mmu_notifier_mm ;
1031 pgtable_t pmd_huge_pte ;
1032 struct cpumask cpumask_allocation ;
1033};
1034#line 178 "include/linux/mm.h"
1035struct vm_fault {
1036 unsigned int flags ;
1037 unsigned long pgoff ;
1038 void *virtual_address ;
1039 struct page *page ;
1040};
1041#line 195 "include/linux/mm.h"
1042struct vm_operations_struct {
1043 void (*open)(struct vm_area_struct * ) ;
1044 void (*close)(struct vm_area_struct * ) ;
1045 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1046 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1047 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1048 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1049 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1050 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
1051 unsigned long ) ;
1052};
1053#line 1631
1054struct klist_node;
1055#line 1631
1056struct klist_node;
1057#line 37 "include/linux/klist.h"
1058struct klist_node {
1059 void *n_klist ;
1060 struct list_head n_node ;
1061 struct kref n_ref ;
1062};
1063#line 67
1064struct dma_map_ops;
1065#line 67 "include/linux/klist.h"
1066struct dev_archdata {
1067 void *acpi_handle ;
1068 struct dma_map_ops *dma_ops ;
1069 void *iommu ;
1070};
1071#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1072struct device_private;
1073#line 17
1074struct device_private;
1075#line 18
1076struct device_driver;
1077#line 18
1078struct device_driver;
1079#line 19
1080struct driver_private;
1081#line 19
1082struct driver_private;
1083#line 20
1084struct class;
1085#line 20
1086struct class;
1087#line 21
1088struct subsys_private;
1089#line 21
1090struct subsys_private;
1091#line 22
1092struct bus_type;
1093#line 22
1094struct bus_type;
1095#line 23
1096struct device_node;
1097#line 23
1098struct device_node;
1099#line 24
1100struct iommu_ops;
1101#line 24
1102struct iommu_ops;
1103#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1104struct bus_attribute {
1105 struct attribute attr ;
1106 ssize_t (*show)(struct bus_type * , char * ) ;
1107 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1108};
1109#line 51 "include/linux/device.h"
1110struct device_attribute;
1111#line 51
1112struct driver_attribute;
1113#line 51 "include/linux/device.h"
1114struct bus_type {
1115 char const *name ;
1116 char const *dev_name ;
1117 struct device *dev_root ;
1118 struct bus_attribute *bus_attrs ;
1119 struct device_attribute *dev_attrs ;
1120 struct driver_attribute *drv_attrs ;
1121 int (*match)(struct device * , struct device_driver * ) ;
1122 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1123 int (*probe)(struct device * ) ;
1124 int (*remove)(struct device * ) ;
1125 void (*shutdown)(struct device * ) ;
1126 int (*suspend)(struct device * , pm_message_t ) ;
1127 int (*resume)(struct device * ) ;
1128 struct dev_pm_ops const *pm ;
1129 struct iommu_ops *iommu_ops ;
1130 struct subsys_private *p ;
1131};
1132#line 125
1133struct device_type;
1134#line 182
1135struct of_device_id;
1136#line 182 "include/linux/device.h"
1137struct device_driver {
1138 char const *name ;
1139 struct bus_type *bus ;
1140 struct module *owner ;
1141 char const *mod_name ;
1142 bool suppress_bind_attrs ;
1143 struct of_device_id const *of_match_table ;
1144 int (*probe)(struct device * ) ;
1145 int (*remove)(struct device * ) ;
1146 void (*shutdown)(struct device * ) ;
1147 int (*suspend)(struct device * , pm_message_t ) ;
1148 int (*resume)(struct device * ) ;
1149 struct attribute_group const **groups ;
1150 struct dev_pm_ops const *pm ;
1151 struct driver_private *p ;
1152};
1153#line 245 "include/linux/device.h"
1154struct driver_attribute {
1155 struct attribute attr ;
1156 ssize_t (*show)(struct device_driver * , char * ) ;
1157 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1158};
1159#line 299
1160struct class_attribute;
1161#line 299 "include/linux/device.h"
1162struct class {
1163 char const *name ;
1164 struct module *owner ;
1165 struct class_attribute *class_attrs ;
1166 struct device_attribute *dev_attrs ;
1167 struct bin_attribute *dev_bin_attrs ;
1168 struct kobject *dev_kobj ;
1169 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1170 char *(*devnode)(struct device * , umode_t * ) ;
1171 void (*class_release)(struct class * ) ;
1172 void (*dev_release)(struct device * ) ;
1173 int (*suspend)(struct device * , pm_message_t ) ;
1174 int (*resume)(struct device * ) ;
1175 struct kobj_ns_type_operations const *ns_type ;
1176 void const *(*namespace)(struct device * ) ;
1177 struct dev_pm_ops const *pm ;
1178 struct subsys_private *p ;
1179};
1180#line 394 "include/linux/device.h"
1181struct class_attribute {
1182 struct attribute attr ;
1183 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1184 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1185 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1186};
1187#line 447 "include/linux/device.h"
1188struct device_type {
1189 char const *name ;
1190 struct attribute_group const **groups ;
1191 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1192 char *(*devnode)(struct device * , umode_t * ) ;
1193 void (*release)(struct device * ) ;
1194 struct dev_pm_ops const *pm ;
1195};
1196#line 474 "include/linux/device.h"
1197struct device_attribute {
1198 struct attribute attr ;
1199 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1200 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1201 size_t ) ;
1202};
1203#line 557 "include/linux/device.h"
1204struct device_dma_parameters {
1205 unsigned int max_segment_size ;
1206 unsigned long segment_boundary_mask ;
1207};
1208#line 567
1209struct dma_coherent_mem;
1210#line 567 "include/linux/device.h"
1211struct device {
1212 struct device *parent ;
1213 struct device_private *p ;
1214 struct kobject kobj ;
1215 char const *init_name ;
1216 struct device_type const *type ;
1217 struct mutex mutex ;
1218 struct bus_type *bus ;
1219 struct device_driver *driver ;
1220 void *platform_data ;
1221 struct dev_pm_info power ;
1222 struct dev_pm_domain *pm_domain ;
1223 int numa_node ;
1224 u64 *dma_mask ;
1225 u64 coherent_dma_mask ;
1226 struct device_dma_parameters *dma_parms ;
1227 struct list_head dma_pools ;
1228 struct dma_coherent_mem *dma_mem ;
1229 struct dev_archdata archdata ;
1230 struct device_node *of_node ;
1231 dev_t devt ;
1232 u32 id ;
1233 spinlock_t devres_lock ;
1234 struct list_head devres_head ;
1235 struct klist_node knode_class ;
1236 struct class *class ;
1237 struct attribute_group const **groups ;
1238 void (*release)(struct device * ) ;
1239};
1240#line 681 "include/linux/device.h"
1241struct wakeup_source {
1242 char const *name ;
1243 struct list_head entry ;
1244 spinlock_t lock ;
1245 struct timer_list timer ;
1246 unsigned long timer_expires ;
1247 ktime_t total_time ;
1248 ktime_t max_time ;
1249 ktime_t last_time ;
1250 unsigned long event_count ;
1251 unsigned long active_count ;
1252 unsigned long relax_count ;
1253 unsigned long hit_count ;
1254 unsigned char active : 1 ;
1255};
1256#line 999 "include/linux/device.h"
1257struct dma_attrs {
1258 unsigned long flags[1U] ;
1259};
1260#line 67 "include/linux/dma-attrs.h"
1261enum dma_data_direction {
1262 DMA_BIDIRECTIONAL = 0,
1263 DMA_TO_DEVICE = 1,
1264 DMA_FROM_DEVICE = 2,
1265 DMA_NONE = 3
1266} ;
1267#line 74 "include/linux/dma-attrs.h"
1268struct scatterlist {
1269 unsigned long sg_magic ;
1270 unsigned long page_link ;
1271 unsigned int offset ;
1272 unsigned int length ;
1273 dma_addr_t dma_address ;
1274 unsigned int dma_length ;
1275};
1276#line 268 "include/linux/scatterlist.h"
1277struct dma_map_ops {
1278 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1279 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1280 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1281 size_t , struct dma_attrs * ) ;
1282 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1283 enum dma_data_direction , struct dma_attrs * ) ;
1284 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1285 struct dma_attrs * ) ;
1286 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1287 struct dma_attrs * ) ;
1288 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1289 struct dma_attrs * ) ;
1290 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1291 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1292 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1293 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1294 int (*mapping_error)(struct device * , dma_addr_t ) ;
1295 int (*dma_supported)(struct device * , u64 ) ;
1296 int (*set_dma_mask)(struct device * , u64 ) ;
1297 int is_phys ;
1298};
1299#line 202 "include/linux/dma-mapping.h"
1300struct exception_table_entry {
1301 unsigned long insn ;
1302 unsigned long fixup ;
1303};
1304#line 69 "include/linux/io.h"
1305struct comedi_async;
1306#line 69
1307struct comedi_lrange;
1308#line 69 "include/linux/io.h"
1309struct comedi_subdevice {
1310 struct comedi_device *device ;
1311 int type ;
1312 int n_chan ;
1313 int subdev_flags ;
1314 int len_chanlist ;
1315 void *private ;
1316 struct comedi_async *async ;
1317 void *lock ;
1318 void *busy ;
1319 unsigned int runflags ;
1320 spinlock_t spin_lock ;
1321 int io_bits ;
1322 unsigned int maxdata ;
1323 unsigned int const *maxdata_list ;
1324 unsigned int flags ;
1325 unsigned int const *flaglist ;
1326 unsigned int settling_time_0 ;
1327 struct comedi_lrange const *range_table ;
1328 struct comedi_lrange const * const *range_table_list ;
1329 unsigned int *chanlist ;
1330 int (*insn_read)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1331 unsigned int * ) ;
1332 int (*insn_write)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1333 unsigned int * ) ;
1334 int (*insn_bits)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1335 unsigned int * ) ;
1336 int (*insn_config)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
1337 unsigned int * ) ;
1338 int (*do_cmd)(struct comedi_device * , struct comedi_subdevice * ) ;
1339 int (*do_cmdtest)(struct comedi_device * , struct comedi_subdevice * , struct comedi_cmd * ) ;
1340 int (*poll)(struct comedi_device * , struct comedi_subdevice * ) ;
1341 int (*cancel)(struct comedi_device * , struct comedi_subdevice * ) ;
1342 int (*buf_change)(struct comedi_device * , struct comedi_subdevice * , unsigned long ) ;
1343 void (*munge)(struct comedi_device * , struct comedi_subdevice * , void * , unsigned int ,
1344 unsigned int ) ;
1345 enum dma_data_direction async_dma_dir ;
1346 unsigned int state ;
1347 struct device *class_dev ;
1348 int minor ;
1349};
1350#line 127 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1351struct comedi_buf_page {
1352 void *virt_addr ;
1353 dma_addr_t dma_addr ;
1354};
1355#line 132 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1356struct comedi_async {
1357 struct comedi_subdevice *subdevice ;
1358 void *prealloc_buf ;
1359 unsigned int prealloc_bufsz ;
1360 struct comedi_buf_page *buf_page_list ;
1361 unsigned int n_buf_pages ;
1362 unsigned int max_bufsize ;
1363 unsigned int mmap_count ;
1364 unsigned int buf_write_count ;
1365 unsigned int buf_write_alloc_count ;
1366 unsigned int buf_read_count ;
1367 unsigned int buf_read_alloc_count ;
1368 unsigned int buf_write_ptr ;
1369 unsigned int buf_read_ptr ;
1370 unsigned int cur_chan ;
1371 unsigned int scan_progress ;
1372 unsigned int munge_chan ;
1373 unsigned int munge_count ;
1374 unsigned int munge_ptr ;
1375 unsigned int events ;
1376 struct comedi_cmd cmd ;
1377 wait_queue_head_t wait_head ;
1378 unsigned int cb_mask ;
1379 int (*cb_func)(unsigned int , void * ) ;
1380 void *cb_arg ;
1381 int (*inttrig)(struct comedi_device * , struct comedi_subdevice * , unsigned int ) ;
1382};
1383#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1384struct comedi_driver {
1385 struct comedi_driver *next ;
1386 char const *driver_name ;
1387 struct module *module ;
1388 int (*attach)(struct comedi_device * , struct comedi_devconfig * ) ;
1389 int (*detach)(struct comedi_device * ) ;
1390 unsigned int num_names ;
1391 char const * const *board_name ;
1392 int offset ;
1393};
1394#line 197
1395struct fasync_struct;
1396#line 197 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1397struct comedi_device {
1398 int use_count ;
1399 struct comedi_driver *driver ;
1400 void *private ;
1401 struct device *class_dev ;
1402 int minor ;
1403 struct device *hw_dev ;
1404 char const *board_name ;
1405 void const *board_ptr ;
1406 int attached ;
1407 spinlock_t spinlock ;
1408 struct mutex mutex ;
1409 int in_request_module ;
1410 int n_subdevices ;
1411 struct comedi_subdevice *subdevices ;
1412 unsigned long iobase ;
1413 unsigned int irq ;
1414 struct comedi_subdevice *read_subdev ;
1415 struct comedi_subdevice *write_subdev ;
1416 struct fasync_struct *async_queue ;
1417 int (*open)(struct comedi_device * ) ;
1418 void (*close)(struct comedi_device * ) ;
1419};
1420#line 338 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1421struct comedi_lrange {
1422 int length ;
1423 struct comedi_krange range[0U] ;
1424};
1425#line 101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1426struct BondingBoard {
1427 char const *name ;
1428};
1429#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1430struct BondedDevice {
1431 struct comedi_device *dev ;
1432 unsigned int minor ;
1433 unsigned int subdev ;
1434 unsigned int subdev_type ;
1435 unsigned int nchans ;
1436 unsigned int chanid_offset ;
1437};
1438#line 130 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1439struct Private {
1440 char name[256U] ;
1441 struct BondedDevice **devs ;
1442 unsigned int ndevs ;
1443 struct BondedDevice *chanIdDevMap[256U] ;
1444 unsigned int nchans ;
1445};
1446#line 1 "<compiler builtins>"
1447
1448#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1449void ldv_spin_lock(void) ;
1450#line 3
1451void ldv_spin_unlock(void) ;
1452#line 4
1453int ldv_spin_trylock(void) ;
1454#line 101 "include/linux/printk.h"
1455extern int printk(char const * , ...) ;
1456#line 323 "include/linux/kernel.h"
1457extern int snprintf(char * , size_t , char const * , ...) ;
1458#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
1459extern void *memset(void * , int , size_t ) ;
1460#line 61
1461extern size_t strlen(char const * ) ;
1462#line 36 "include/linux/string.h"
1463extern char *strncat(char * , char const * , __kernel_size_t ) ;
1464#line 93 "include/linux/spinlock.h"
1465extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ;
1466#line 272 "include/linux/spinlock.h"
1467__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
1468{
1469
1470 {
1471#line 274
1472 return ((struct raw_spinlock *)lock);
1473}
1474}
1475#line 26 "include/linux/export.h"
1476extern struct module __this_module ;
1477#line 161 "include/linux/slab.h"
1478extern void kfree(void const * ) ;
1479#line 220 "include/linux/slub_def.h"
1480extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
1481#line 223
1482void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1483#line 225
1484extern void *__kmalloc(size_t , gfp_t ) ;
1485#line 268 "include/linux/slub_def.h"
1486__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags )
1487{ void *tmp___2 ;
1488
1489 {
1490 {
1491#line 283
1492 tmp___2 = __kmalloc(size, flags);
1493 }
1494#line 283
1495 return (tmp___2);
1496}
1497}
1498#line 268
1499__inline static void *kmalloc(size_t size , gfp_t flags ) ;
1500#line 243 "include/linux/slab.h"
1501__inline static void *kmalloc_array(size_t n , size_t size , gfp_t flags )
1502{ void *tmp ;
1503 unsigned long __cil_tmp5 ;
1504 size_t __cil_tmp6 ;
1505
1506 {
1507#line 245
1508 if (size != 0UL) {
1509 {
1510#line 245
1511 __cil_tmp5 = 0xffffffffffffffffUL / size;
1512#line 245
1513 if (__cil_tmp5 < n) {
1514#line 246
1515 return ((void *)0);
1516 } else {
1517
1518 }
1519 }
1520 } else {
1521
1522 }
1523 {
1524#line 247
1525 __cil_tmp6 = n * size;
1526#line 247
1527 tmp = __kmalloc(__cil_tmp6, flags);
1528 }
1529#line 247
1530 return (tmp);
1531}
1532}
1533#line 256 "include/linux/slab.h"
1534__inline static void *ldv_kcalloc_14(size_t n , size_t size , gfp_t flags )
1535{ void *tmp ;
1536 unsigned int __cil_tmp5 ;
1537
1538 {
1539 {
1540#line 258
1541 __cil_tmp5 = flags | 32768U;
1542#line 258
1543 tmp = kmalloc_array(n, size, __cil_tmp5);
1544 }
1545#line 258
1546 return (tmp);
1547}
1548}
1549#line 256
1550__inline static void *kcalloc(size_t n , size_t size , gfp_t flags ) ;
1551#line 353
1552__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1553#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1554extern void *__VERIFIER_nondet_pointer(void) ;
1555#line 11
1556void ldv_check_alloc_flags(gfp_t flags ) ;
1557#line 12
1558void ldv_check_alloc_nonatomic(void) ;
1559#line 14
1560struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1561#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedilib.h"
1562extern struct comedi_device *comedi_open(char const * ) ;
1563#line 28
1564extern int comedi_close(struct comedi_device * ) ;
1565#line 29
1566extern int comedi_dio_config(struct comedi_device * , unsigned int , unsigned int ,
1567 unsigned int ) ;
1568#line 31
1569extern int comedi_dio_bitfield(struct comedi_device * , unsigned int , unsigned int ,
1570 unsigned int * ) ;
1571#line 33
1572extern int comedi_find_subdevice_by_type(struct comedi_device * , int , unsigned int ) ;
1573#line 35
1574extern int comedi_get_n_channels(struct comedi_device * , unsigned int ) ;
1575#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1576extern int comedi_driver_register(struct comedi_driver * ) ;
1577#line 288
1578extern int comedi_driver_unregister(struct comedi_driver * ) ;
1579#line 336
1580extern struct comedi_lrange const range_unipolar5 ;
1581#line 354 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1582__inline static int alloc_subdevices(struct comedi_device *dev , unsigned int num_subdevices )
1583{ unsigned int i ;
1584 void *tmp ;
1585 struct lock_class_key __key ;
1586 unsigned long __cil_tmp6 ;
1587 unsigned long __cil_tmp7 ;
1588 size_t __cil_tmp8 ;
1589 unsigned long __cil_tmp9 ;
1590 unsigned long __cil_tmp10 ;
1591 struct comedi_subdevice *__cil_tmp11 ;
1592 unsigned long __cil_tmp12 ;
1593 unsigned long __cil_tmp13 ;
1594 unsigned long __cil_tmp14 ;
1595 struct comedi_subdevice *__cil_tmp15 ;
1596 unsigned long __cil_tmp16 ;
1597 unsigned long __cil_tmp17 ;
1598 unsigned long __cil_tmp18 ;
1599 unsigned long __cil_tmp19 ;
1600 struct comedi_subdevice *__cil_tmp20 ;
1601 struct comedi_subdevice *__cil_tmp21 ;
1602 unsigned long __cil_tmp22 ;
1603 unsigned long __cil_tmp23 ;
1604 unsigned long __cil_tmp24 ;
1605 struct comedi_subdevice *__cil_tmp25 ;
1606 struct comedi_subdevice *__cil_tmp26 ;
1607 unsigned long __cil_tmp27 ;
1608 unsigned long __cil_tmp28 ;
1609 unsigned long __cil_tmp29 ;
1610 unsigned long __cil_tmp30 ;
1611 unsigned long __cil_tmp31 ;
1612 struct comedi_subdevice *__cil_tmp32 ;
1613 struct comedi_subdevice *__cil_tmp33 ;
1614 unsigned long __cil_tmp34 ;
1615 unsigned long __cil_tmp35 ;
1616 spinlock_t *__cil_tmp36 ;
1617 unsigned long __cil_tmp37 ;
1618 unsigned long __cil_tmp38 ;
1619 unsigned long __cil_tmp39 ;
1620 struct comedi_subdevice *__cil_tmp40 ;
1621 struct comedi_subdevice *__cil_tmp41 ;
1622 unsigned long __cil_tmp42 ;
1623 unsigned long __cil_tmp43 ;
1624 struct raw_spinlock *__cil_tmp44 ;
1625 unsigned long __cil_tmp45 ;
1626 unsigned long __cil_tmp46 ;
1627 unsigned long __cil_tmp47 ;
1628 struct comedi_subdevice *__cil_tmp48 ;
1629 struct comedi_subdevice *__cil_tmp49 ;
1630 unsigned long __cil_tmp50 ;
1631 unsigned long __cil_tmp51 ;
1632
1633 {
1634 {
1635#line 359
1636 __cil_tmp6 = (unsigned long )dev;
1637#line 359
1638 __cil_tmp7 = __cil_tmp6 + 316;
1639#line 359
1640 *((int *)__cil_tmp7) = (int )num_subdevices;
1641#line 360
1642 __cil_tmp8 = (size_t )num_subdevices;
1643#line 360
1644 tmp = kcalloc(__cil_tmp8, 304UL, 208U);
1645#line 360
1646 __cil_tmp9 = (unsigned long )dev;
1647#line 360
1648 __cil_tmp10 = __cil_tmp9 + 320;
1649#line 360
1650 *((struct comedi_subdevice **)__cil_tmp10) = (struct comedi_subdevice *)tmp;
1651 }
1652 {
1653#line 363
1654 __cil_tmp11 = (struct comedi_subdevice *)0;
1655#line 363
1656 __cil_tmp12 = (unsigned long )__cil_tmp11;
1657#line 363
1658 __cil_tmp13 = (unsigned long )dev;
1659#line 363
1660 __cil_tmp14 = __cil_tmp13 + 320;
1661#line 363
1662 __cil_tmp15 = *((struct comedi_subdevice **)__cil_tmp14);
1663#line 363
1664 __cil_tmp16 = (unsigned long )__cil_tmp15;
1665#line 363
1666 if (__cil_tmp16 == __cil_tmp12) {
1667#line 364
1668 return (-12);
1669 } else {
1670
1671 }
1672 }
1673#line 365
1674 i = 0U;
1675#line 365
1676 goto ldv_19205;
1677 ldv_19204:
1678 {
1679#line 366
1680 __cil_tmp17 = (unsigned long )i;
1681#line 366
1682 __cil_tmp18 = (unsigned long )dev;
1683#line 366
1684 __cil_tmp19 = __cil_tmp18 + 320;
1685#line 366
1686 __cil_tmp20 = *((struct comedi_subdevice **)__cil_tmp19);
1687#line 366
1688 __cil_tmp21 = __cil_tmp20 + __cil_tmp17;
1689#line 366
1690 *((struct comedi_device **)__cil_tmp21) = dev;
1691#line 367
1692 __cil_tmp22 = (unsigned long )i;
1693#line 367
1694 __cil_tmp23 = (unsigned long )dev;
1695#line 367
1696 __cil_tmp24 = __cil_tmp23 + 320;
1697#line 367
1698 __cil_tmp25 = *((struct comedi_subdevice **)__cil_tmp24);
1699#line 367
1700 __cil_tmp26 = __cil_tmp25 + __cil_tmp22;
1701#line 367
1702 __cil_tmp27 = (unsigned long )__cil_tmp26;
1703#line 367
1704 __cil_tmp28 = __cil_tmp27 + 280;
1705#line 367
1706 *((enum dma_data_direction *)__cil_tmp28) = (enum dma_data_direction )3;
1707#line 368
1708 __cil_tmp29 = (unsigned long )i;
1709#line 368
1710 __cil_tmp30 = (unsigned long )dev;
1711#line 368
1712 __cil_tmp31 = __cil_tmp30 + 320;
1713#line 368
1714 __cil_tmp32 = *((struct comedi_subdevice **)__cil_tmp31);
1715#line 368
1716 __cil_tmp33 = __cil_tmp32 + __cil_tmp29;
1717#line 368
1718 __cil_tmp34 = (unsigned long )__cil_tmp33;
1719#line 368
1720 __cil_tmp35 = __cil_tmp34 + 64;
1721#line 368
1722 __cil_tmp36 = (spinlock_t *)__cil_tmp35;
1723#line 368
1724 spinlock_check(__cil_tmp36);
1725#line 368
1726 __cil_tmp37 = (unsigned long )i;
1727#line 368
1728 __cil_tmp38 = (unsigned long )dev;
1729#line 368
1730 __cil_tmp39 = __cil_tmp38 + 320;
1731#line 368
1732 __cil_tmp40 = *((struct comedi_subdevice **)__cil_tmp39);
1733#line 368
1734 __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
1735#line 368
1736 __cil_tmp42 = (unsigned long )__cil_tmp41;
1737#line 368
1738 __cil_tmp43 = __cil_tmp42 + 64;
1739#line 368
1740 __cil_tmp44 = (struct raw_spinlock *)__cil_tmp43;
1741#line 368
1742 __raw_spin_lock_init(__cil_tmp44, "&(&dev->subdevices[i].spin_lock)->rlock", & __key);
1743#line 369
1744 __cil_tmp45 = (unsigned long )i;
1745#line 369
1746 __cil_tmp46 = (unsigned long )dev;
1747#line 369
1748 __cil_tmp47 = __cil_tmp46 + 320;
1749#line 369
1750 __cil_tmp48 = *((struct comedi_subdevice **)__cil_tmp47);
1751#line 369
1752 __cil_tmp49 = __cil_tmp48 + __cil_tmp45;
1753#line 369
1754 __cil_tmp50 = (unsigned long )__cil_tmp49;
1755#line 369
1756 __cil_tmp51 = __cil_tmp50 + 296;
1757#line 369
1758 *((int *)__cil_tmp51) = -1;
1759#line 365
1760 i = i + 1U;
1761 }
1762 ldv_19205: ;
1763#line 365
1764 if (i < num_subdevices) {
1765#line 366
1766 goto ldv_19204;
1767 } else {
1768#line 368
1769 goto ldv_19206;
1770 }
1771 ldv_19206: ;
1772#line 371
1773 return (0);
1774}
1775}
1776#line 374 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/comedi/drivers/../comedidev.h"
1777__inline static int alloc_private(struct comedi_device *dev , int size )
1778{ unsigned long __cil_tmp3 ;
1779 unsigned long __cil_tmp4 ;
1780 size_t __cil_tmp5 ;
1781 void *__cil_tmp6 ;
1782 unsigned long __cil_tmp7 ;
1783 unsigned long __cil_tmp8 ;
1784 unsigned long __cil_tmp9 ;
1785 void *__cil_tmp10 ;
1786 unsigned long __cil_tmp11 ;
1787
1788 {
1789 {
1790#line 376
1791 __cil_tmp3 = (unsigned long )dev;
1792#line 376
1793 __cil_tmp4 = __cil_tmp3 + 16;
1794#line 376
1795 __cil_tmp5 = (size_t )size;
1796#line 376
1797 *((void **)__cil_tmp4) = kzalloc(__cil_tmp5, 208U);
1798 }
1799 {
1800#line 377
1801 __cil_tmp6 = (void *)0;
1802#line 377
1803 __cil_tmp7 = (unsigned long )__cil_tmp6;
1804#line 377
1805 __cil_tmp8 = (unsigned long )dev;
1806#line 377
1807 __cil_tmp9 = __cil_tmp8 + 16;
1808#line 377
1809 __cil_tmp10 = *((void **)__cil_tmp9);
1810#line 377
1811 __cil_tmp11 = (unsigned long )__cil_tmp10;
1812#line 377
1813 if (__cil_tmp11 == __cil_tmp7) {
1814#line 378
1815 return (-12);
1816 } else {
1817
1818 }
1819 }
1820#line 379
1821 return (0);
1822}
1823}
1824#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1825static struct BondingBoard const bondingBoards[1U] = { {"comedi_bond"}};
1826#line 157
1827static int bonding_attach(struct comedi_device *dev , struct comedi_devconfig *it ) ;
1828#line 159
1829static int bonding_detach(struct comedi_device *dev ) ;
1830#line 161
1831static int doDevConfig(struct comedi_device *dev , struct comedi_devconfig *it ) ;
1832#line 162
1833static void doDevUnconfig(struct comedi_device *dev ) ;
1834#line 165
1835static void *Realloc(void const *oldmem , size_t newlen , size_t oldlen ) ;
1836#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1837static struct comedi_driver driver_bonding =
1838#line 167
1839 {(struct comedi_driver *)0, "comedi_bond", & __this_module, & bonding_attach, & bonding_detach,
1840 1U, & bondingBoards[0].name, 8};
1841#line 195
1842static int bonding_dio_insn_bits(struct comedi_device *dev , struct comedi_subdevice *s ,
1843 struct comedi_insn *insn , unsigned int *data ) ;
1844#line 198
1845static int bonding_dio_insn_config(struct comedi_device *dev , struct comedi_subdevice *s ,
1846 struct comedi_insn *insn , unsigned int *data ) ;
1847#line 209 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
1848static int bonding_attach(struct comedi_device *dev , struct comedi_devconfig *it )
1849{ struct comedi_subdevice *s ;
1850 int tmp ;
1851 int tmp___0 ;
1852 int tmp___1 ;
1853 unsigned long __cil_tmp7 ;
1854 unsigned long __cil_tmp8 ;
1855 int __cil_tmp9 ;
1856 unsigned long __cil_tmp10 ;
1857 unsigned long __cil_tmp11 ;
1858 unsigned long __cil_tmp12 ;
1859 unsigned long __cil_tmp13 ;
1860 void *__cil_tmp14 ;
1861 struct Private *__cil_tmp15 ;
1862 char (*__cil_tmp16)[256U] ;
1863 unsigned long __cil_tmp17 ;
1864 unsigned long __cil_tmp18 ;
1865 unsigned long __cil_tmp19 ;
1866 unsigned long __cil_tmp20 ;
1867 unsigned long __cil_tmp21 ;
1868 unsigned long __cil_tmp22 ;
1869 unsigned long __cil_tmp23 ;
1870 unsigned long __cil_tmp24 ;
1871 unsigned long __cil_tmp25 ;
1872 unsigned long __cil_tmp26 ;
1873 void *__cil_tmp27 ;
1874 struct Private *__cil_tmp28 ;
1875 unsigned long __cil_tmp29 ;
1876 unsigned long __cil_tmp30 ;
1877 unsigned int __cil_tmp31 ;
1878 unsigned long __cil_tmp32 ;
1879 unsigned long __cil_tmp33 ;
1880 unsigned long __cil_tmp34 ;
1881 unsigned long __cil_tmp35 ;
1882 unsigned long __cil_tmp36 ;
1883 unsigned long __cil_tmp37 ;
1884 unsigned long __cil_tmp38 ;
1885 unsigned long __cil_tmp39 ;
1886 unsigned long __cil_tmp40 ;
1887 unsigned long __cil_tmp41 ;
1888 void *__cil_tmp42 ;
1889 struct Private *__cil_tmp43 ;
1890 unsigned long __cil_tmp44 ;
1891 unsigned long __cil_tmp45 ;
1892 unsigned int __cil_tmp46 ;
1893 unsigned long __cil_tmp47 ;
1894 unsigned long __cil_tmp48 ;
1895 void *__cil_tmp49 ;
1896 struct Private *__cil_tmp50 ;
1897 unsigned long __cil_tmp51 ;
1898 unsigned long __cil_tmp52 ;
1899 unsigned int __cil_tmp53 ;
1900
1901 {
1902 {
1903#line 214
1904 __cil_tmp7 = (unsigned long )dev;
1905#line 214
1906 __cil_tmp8 = __cil_tmp7 + 32;
1907#line 214
1908 __cil_tmp9 = *((int *)__cil_tmp8);
1909#line 214
1910 printk("<6>comedi_bond: comedi%d\n", __cil_tmp9);
1911#line 220
1912 tmp = alloc_private(dev, 2328);
1913 }
1914#line 220
1915 if (tmp < 0) {
1916#line 221
1917 return (-12);
1918 } else {
1919
1920 }
1921 {
1922#line 226
1923 tmp___0 = doDevConfig(dev, it);
1924 }
1925#line 226
1926 if (tmp___0 == 0) {
1927#line 227
1928 return (-22);
1929 } else {
1930
1931 }
1932 {
1933#line 233
1934 __cil_tmp10 = (unsigned long )dev;
1935#line 233
1936 __cil_tmp11 = __cil_tmp10 + 48;
1937#line 233
1938 __cil_tmp12 = (unsigned long )dev;
1939#line 233
1940 __cil_tmp13 = __cil_tmp12 + 16;
1941#line 233
1942 __cil_tmp14 = *((void **)__cil_tmp13);
1943#line 233
1944 __cil_tmp15 = (struct Private *)__cil_tmp14;
1945#line 233
1946 __cil_tmp16 = (char (*)[256U])__cil_tmp15;
1947#line 233
1948 *((char const **)__cil_tmp11) = (char const *)__cil_tmp16;
1949#line 239
1950 tmp___1 = alloc_subdevices(dev, 1U);
1951 }
1952#line 239
1953 if (tmp___1 < 0) {
1954#line 240
1955 return (-12);
1956 } else {
1957
1958 }
1959 {
1960#line 242
1961 __cil_tmp17 = (unsigned long )dev;
1962#line 242
1963 __cil_tmp18 = __cil_tmp17 + 320;
1964#line 242
1965 s = *((struct comedi_subdevice **)__cil_tmp18);
1966#line 243
1967 __cil_tmp19 = (unsigned long )s;
1968#line 243
1969 __cil_tmp20 = __cil_tmp19 + 8;
1970#line 243
1971 *((int *)__cil_tmp20) = 5;
1972#line 244
1973 __cil_tmp21 = (unsigned long )s;
1974#line 244
1975 __cil_tmp22 = __cil_tmp21 + 16;
1976#line 244
1977 *((int *)__cil_tmp22) = 196608;
1978#line 245
1979 __cil_tmp23 = (unsigned long )s;
1980#line 245
1981 __cil_tmp24 = __cil_tmp23 + 12;
1982#line 245
1983 __cil_tmp25 = (unsigned long )dev;
1984#line 245
1985 __cil_tmp26 = __cil_tmp25 + 16;
1986#line 245
1987 __cil_tmp27 = *((void **)__cil_tmp26);
1988#line 245
1989 __cil_tmp28 = (struct Private *)__cil_tmp27;
1990#line 245
1991 __cil_tmp29 = (unsigned long )__cil_tmp28;
1992#line 245
1993 __cil_tmp30 = __cil_tmp29 + 2320;
1994#line 245
1995 __cil_tmp31 = *((unsigned int *)__cil_tmp30);
1996#line 245
1997 *((int *)__cil_tmp24) = (int )__cil_tmp31;
1998#line 246
1999 __cil_tmp32 = (unsigned long )s;
2000#line 246
2001 __cil_tmp33 = __cil_tmp32 + 140;
2002#line 246
2003 *((unsigned int *)__cil_tmp33) = 1U;
2004#line 247
2005 __cil_tmp34 = (unsigned long )s;
2006#line 247
2007 __cil_tmp35 = __cil_tmp34 + 176;
2008#line 247
2009 *((struct comedi_lrange const **)__cil_tmp35) = & range_unipolar5;
2010#line 248
2011 __cil_tmp36 = (unsigned long )s;
2012#line 248
2013 __cil_tmp37 = __cil_tmp36 + 216;
2014#line 248
2015 *((int (**)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
2016 unsigned int * ))__cil_tmp37) = & bonding_dio_insn_bits;
2017#line 249
2018 __cil_tmp38 = (unsigned long )s;
2019#line 249
2020 __cil_tmp39 = __cil_tmp38 + 224;
2021#line 249
2022 *((int (**)(struct comedi_device * , struct comedi_subdevice * , struct comedi_insn * ,
2023 unsigned int * ))__cil_tmp39) = & bonding_dio_insn_config;
2024#line 251
2025 __cil_tmp40 = (unsigned long )dev;
2026#line 251
2027 __cil_tmp41 = __cil_tmp40 + 16;
2028#line 251
2029 __cil_tmp42 = *((void **)__cil_tmp41);
2030#line 251
2031 __cil_tmp43 = (struct Private *)__cil_tmp42;
2032#line 251
2033 __cil_tmp44 = (unsigned long )__cil_tmp43;
2034#line 251
2035 __cil_tmp45 = __cil_tmp44 + 2320;
2036#line 251
2037 __cil_tmp46 = *((unsigned int *)__cil_tmp45);
2038#line 251
2039 __cil_tmp47 = (unsigned long )dev;
2040#line 251
2041 __cil_tmp48 = __cil_tmp47 + 16;
2042#line 251
2043 __cil_tmp49 = *((void **)__cil_tmp48);
2044#line 251
2045 __cil_tmp50 = (struct Private *)__cil_tmp49;
2046#line 251
2047 __cil_tmp51 = (unsigned long )__cil_tmp50;
2048#line 251
2049 __cil_tmp52 = __cil_tmp51 + 264;
2050#line 251
2051 __cil_tmp53 = *((unsigned int *)__cil_tmp52);
2052#line 251
2053 printk("<6>comedi_bond: attached with %u DIO channels coming from %u different subdevices all bonded together. John Lennon would be proud!\n",
2054 __cil_tmp46, __cil_tmp53);
2055 }
2056#line 256
2057 return (1);
2058}
2059}
2060#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
2061static int bonding_detach(struct comedi_device *dev )
2062{ unsigned long __cil_tmp2 ;
2063 unsigned long __cil_tmp3 ;
2064 int __cil_tmp4 ;
2065
2066 {
2067 {
2068#line 269
2069 __cil_tmp2 = (unsigned long )dev;
2070#line 269
2071 __cil_tmp3 = __cil_tmp2 + 32;
2072#line 269
2073 __cil_tmp4 = *((int *)__cil_tmp3);
2074#line 269
2075 printk("<6>comedi_bond: comedi%d: remove\n", __cil_tmp4);
2076#line 270
2077 doDevUnconfig(dev);
2078 }
2079#line 271
2080 return (0);
2081}
2082}
2083#line 279 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
2084static int bonding_dio_insn_bits(struct comedi_device *dev , struct comedi_subdevice *s ,
2085 struct comedi_insn *insn , unsigned int *data )
2086{ unsigned int nchans ;
2087 unsigned int num_done ;
2088 unsigned int i ;
2089 struct BondedDevice *bdev ;
2090 unsigned int subdevMask ;
2091 unsigned int writeMask ;
2092 unsigned int dataBits ;
2093 int tmp ;
2094 unsigned long __cil_tmp13 ;
2095 unsigned long __cil_tmp14 ;
2096 unsigned int __cil_tmp15 ;
2097 unsigned long __cil_tmp16 ;
2098 unsigned long __cil_tmp17 ;
2099 void *__cil_tmp18 ;
2100 struct Private *__cil_tmp19 ;
2101 unsigned long __cil_tmp20 ;
2102 unsigned long __cil_tmp21 ;
2103 unsigned int __cil_tmp22 ;
2104 unsigned long __cil_tmp23 ;
2105 unsigned long __cil_tmp24 ;
2106 void *__cil_tmp25 ;
2107 struct Private *__cil_tmp26 ;
2108 unsigned long __cil_tmp27 ;
2109 unsigned long __cil_tmp28 ;
2110 unsigned long __cil_tmp29 ;
2111 unsigned long __cil_tmp30 ;
2112 unsigned long __cil_tmp31 ;
2113 void *__cil_tmp32 ;
2114 struct Private *__cil_tmp33 ;
2115 unsigned long __cil_tmp34 ;
2116 unsigned long __cil_tmp35 ;
2117 struct BondedDevice **__cil_tmp36 ;
2118 struct BondedDevice **__cil_tmp37 ;
2119 unsigned long __cil_tmp38 ;
2120 unsigned long __cil_tmp39 ;
2121 unsigned int __cil_tmp40 ;
2122 int __cil_tmp41 ;
2123 int __cil_tmp42 ;
2124 int __cil_tmp43 ;
2125 unsigned long __cil_tmp44 ;
2126 unsigned long __cil_tmp45 ;
2127 unsigned int __cil_tmp46 ;
2128 int __cil_tmp47 ;
2129 unsigned int __cil_tmp48 ;
2130 unsigned int __cil_tmp49 ;
2131 unsigned int *__cil_tmp50 ;
2132 int __cil_tmp51 ;
2133 unsigned int *__cil_tmp52 ;
2134 unsigned int __cil_tmp53 ;
2135 unsigned int __cil_tmp54 ;
2136 struct comedi_device *__cil_tmp55 ;
2137 unsigned long __cil_tmp56 ;
2138 unsigned long __cil_tmp57 ;
2139 unsigned int __cil_tmp58 ;
2140 unsigned int *__cil_tmp59 ;
2141 int __cil_tmp60 ;
2142 unsigned int __cil_tmp61 ;
2143 unsigned int __cil_tmp62 ;
2144 unsigned int *__cil_tmp63 ;
2145 unsigned int __cil_tmp64 ;
2146 unsigned int *__cil_tmp65 ;
2147 int __cil_tmp66 ;
2148 unsigned int *__cil_tmp67 ;
2149 unsigned int __cil_tmp68 ;
2150 unsigned int __cil_tmp69 ;
2151 unsigned int __cil_tmp70 ;
2152 unsigned int *__cil_tmp71 ;
2153 unsigned int __cil_tmp72 ;
2154 unsigned long __cil_tmp73 ;
2155 unsigned long __cil_tmp74 ;
2156 unsigned int *__cil_tmp75 ;
2157 unsigned long __cil_tmp76 ;
2158 unsigned long __cil_tmp77 ;
2159 unsigned int __cil_tmp78 ;
2160 unsigned long __cil_tmp79 ;
2161 unsigned long __cil_tmp80 ;
2162 void *__cil_tmp81 ;
2163 struct Private *__cil_tmp82 ;
2164 unsigned long __cil_tmp83 ;
2165 unsigned long __cil_tmp84 ;
2166 unsigned int __cil_tmp85 ;
2167 unsigned long __cil_tmp86 ;
2168 unsigned long __cil_tmp87 ;
2169 unsigned int __cil_tmp88 ;
2170
2171 {
2172#line 284
2173 nchans = 32U;
2174#line 284
2175 num_done = 0U;
2176 {
2177#line 285
2178 __cil_tmp13 = (unsigned long )insn;
2179#line 285
2180 __cil_tmp14 = __cil_tmp13 + 4;
2181#line 285
2182 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
2183#line 285
2184 if (__cil_tmp15 != 2U) {
2185#line 286
2186 return (-22);
2187 } else {
2188
2189 }
2190 }
2191 {
2192#line 288
2193 __cil_tmp16 = (unsigned long )dev;
2194#line 288
2195 __cil_tmp17 = __cil_tmp16 + 16;
2196#line 288
2197 __cil_tmp18 = *((void **)__cil_tmp17);
2198#line 288
2199 __cil_tmp19 = (struct Private *)__cil_tmp18;
2200#line 288
2201 __cil_tmp20 = (unsigned long )__cil_tmp19;
2202#line 288
2203 __cil_tmp21 = __cil_tmp20 + 2320;
2204#line 288
2205 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
2206#line 288
2207 if (__cil_tmp22 < nchans) {
2208#line 289
2209 __cil_tmp23 = (unsigned long )dev;
2210#line 289
2211 __cil_tmp24 = __cil_tmp23 + 16;
2212#line 289
2213 __cil_tmp25 = *((void **)__cil_tmp24);
2214#line 289
2215 __cil_tmp26 = (struct Private *)__cil_tmp25;
2216#line 289
2217 __cil_tmp27 = (unsigned long )__cil_tmp26;
2218#line 289
2219 __cil_tmp28 = __cil_tmp27 + 2320;
2220#line 289
2221 nchans = *((unsigned int *)__cil_tmp28);
2222 } else {
2223
2224 }
2225 }
2226#line 293
2227 i = 0U;
2228#line 293
2229 goto ldv_19365;
2230 ldv_19364:
2231#line 294
2232 __cil_tmp29 = (unsigned long )i;
2233#line 294
2234 __cil_tmp30 = (unsigned long )dev;
2235#line 294
2236 __cil_tmp31 = __cil_tmp30 + 16;
2237#line 294
2238 __cil_tmp32 = *((void **)__cil_tmp31);
2239#line 294
2240 __cil_tmp33 = (struct Private *)__cil_tmp32;
2241#line 294
2242 __cil_tmp34 = (unsigned long )__cil_tmp33;
2243#line 294
2244 __cil_tmp35 = __cil_tmp34 + 256;
2245#line 294
2246 __cil_tmp36 = *((struct BondedDevice ***)__cil_tmp35);
2247#line 294
2248 __cil_tmp37 = __cil_tmp36 + __cil_tmp29;
2249#line 294
2250 bdev = *__cil_tmp37;
2251#line 299
2252 __cil_tmp38 = (unsigned long )bdev;
2253#line 299
2254 __cil_tmp39 = __cil_tmp38 + 20;
2255#line 299
2256 __cil_tmp40 = *((unsigned int *)__cil_tmp39);
2257#line 299
2258 __cil_tmp41 = (int )__cil_tmp40;
2259#line 299
2260 __cil_tmp42 = 1 << __cil_tmp41;
2261#line 299
2262 __cil_tmp43 = __cil_tmp42 + -1;
2263#line 299
2264 subdevMask = (unsigned int )__cil_tmp43;
2265 {
2266#line 303
2267 __cil_tmp44 = (unsigned long )bdev;
2268#line 303
2269 __cil_tmp45 = __cil_tmp44 + 20;
2270#line 303
2271 __cil_tmp46 = *((unsigned int *)__cil_tmp45);
2272#line 303
2273 if (__cil_tmp46 > 31U) {
2274#line 304
2275 subdevMask = 4294967295U;
2276 } else {
2277
2278 }
2279 }
2280 {
2281#line 306
2282 __cil_tmp47 = (int )num_done;
2283#line 306
2284 __cil_tmp48 = *data;
2285#line 306
2286 __cil_tmp49 = __cil_tmp48 >> __cil_tmp47;
2287#line 306
2288 writeMask = __cil_tmp49 & subdevMask;
2289#line 307
2290 __cil_tmp50 = & dataBits;
2291#line 307
2292 __cil_tmp51 = (int )num_done;
2293#line 307
2294 __cil_tmp52 = data + 1UL;
2295#line 307
2296 __cil_tmp53 = *__cil_tmp52;
2297#line 307
2298 __cil_tmp54 = __cil_tmp53 >> __cil_tmp51;
2299#line 307
2300 *__cil_tmp50 = __cil_tmp54 & subdevMask;
2301#line 310
2302 __cil_tmp55 = *((struct comedi_device **)bdev);
2303#line 310
2304 __cil_tmp56 = (unsigned long )bdev;
2305#line 310
2306 __cil_tmp57 = __cil_tmp56 + 12;
2307#line 310
2308 __cil_tmp58 = *((unsigned int *)__cil_tmp57);
2309#line 310
2310 tmp = comedi_dio_bitfield(__cil_tmp55, __cil_tmp58, writeMask, & dataBits);
2311 }
2312#line 310
2313 if (tmp != 2) {
2314#line 312
2315 return (-22);
2316 } else {
2317
2318 }
2319#line 315
2320 __cil_tmp59 = data + 1UL;
2321#line 315
2322 __cil_tmp60 = (int )num_done;
2323#line 315
2324 __cil_tmp61 = subdevMask << __cil_tmp60;
2325#line 315
2326 __cil_tmp62 = ~ __cil_tmp61;
2327#line 315
2328 __cil_tmp63 = data + 1UL;
2329#line 315
2330 __cil_tmp64 = *__cil_tmp63;
2331#line 315
2332 *__cil_tmp59 = __cil_tmp64 & __cil_tmp62;
2333#line 317
2334 __cil_tmp65 = data + 1UL;
2335#line 317
2336 __cil_tmp66 = (int )num_done;
2337#line 317
2338 __cil_tmp67 = & dataBits;
2339#line 317
2340 __cil_tmp68 = *__cil_tmp67;
2341#line 317
2342 __cil_tmp69 = __cil_tmp68 & subdevMask;
2343#line 317
2344 __cil_tmp70 = __cil_tmp69 << __cil_tmp66;
2345#line 317
2346 __cil_tmp71 = data + 1UL;
2347#line 317
2348 __cil_tmp72 = *__cil_tmp71;
2349#line 317
2350 *__cil_tmp65 = __cil_tmp72 | __cil_tmp70;
2351#line 319
2352 __cil_tmp73 = (unsigned long )s;
2353#line 319
2354 __cil_tmp74 = __cil_tmp73 + 284;
2355#line 319
2356 __cil_tmp75 = data + 1UL;
2357#line 319
2358 *((unsigned int *)__cil_tmp74) = *__cil_tmp75;
2359#line 321
2360 __cil_tmp76 = (unsigned long )bdev;
2361#line 321
2362 __cil_tmp77 = __cil_tmp76 + 20;
2363#line 321
2364 __cil_tmp78 = *((unsigned int *)__cil_tmp77);
2365#line 321
2366 num_done = __cil_tmp78 + num_done;
2367#line 293
2368 i = i + 1U;
2369 ldv_19365: ;
2370#line 293
2371 if (num_done < nchans) {
2372 {
2373#line 293
2374 __cil_tmp79 = (unsigned long )dev;
2375#line 293
2376 __cil_tmp80 = __cil_tmp79 + 16;
2377#line 293
2378 __cil_tmp81 = *((void **)__cil_tmp80);
2379#line 293
2380 __cil_tmp82 = (struct Private *)__cil_tmp81;
2381#line 293
2382 __cil_tmp83 = (unsigned long )__cil_tmp82;
2383#line 293
2384 __cil_tmp84 = __cil_tmp83 + 264;
2385#line 293
2386 __cil_tmp85 = *((unsigned int *)__cil_tmp84);
2387#line 293
2388 if (__cil_tmp85 > i) {
2389#line 294
2390 goto ldv_19364;
2391 } else {
2392#line 296
2393 goto ldv_19366;
2394 }
2395 }
2396 } else {
2397#line 296
2398 goto ldv_19366;
2399 }
2400 ldv_19366: ;
2401 {
2402#line 324
2403 __cil_tmp86 = (unsigned long )insn;
2404#line 324
2405 __cil_tmp87 = __cil_tmp86 + 4;
2406#line 324
2407 __cil_tmp88 = *((unsigned int *)__cil_tmp87);
2408#line 324
2409 return ((int )__cil_tmp88);
2410 }
2411}
2412}
2413#line 327 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
2414static int bonding_dio_insn_config(struct comedi_device *dev , struct comedi_subdevice *s ,
2415 struct comedi_insn *insn , unsigned int *data )
2416{ int chan ;
2417 int ret ;
2418 int io_bits ;
2419 unsigned int io ;
2420 struct BondedDevice *bdev ;
2421 unsigned long __cil_tmp10 ;
2422 unsigned long __cil_tmp11 ;
2423 unsigned int __cil_tmp12 ;
2424 int __cil_tmp13 ;
2425 unsigned long __cil_tmp14 ;
2426 unsigned long __cil_tmp15 ;
2427 unsigned long __cil_tmp16 ;
2428 unsigned long __cil_tmp17 ;
2429 void *__cil_tmp18 ;
2430 struct Private *__cil_tmp19 ;
2431 unsigned long __cil_tmp20 ;
2432 unsigned long __cil_tmp21 ;
2433 unsigned int __cil_tmp22 ;
2434 unsigned int __cil_tmp23 ;
2435 unsigned long __cil_tmp24 ;
2436 unsigned long __cil_tmp25 ;
2437 unsigned long __cil_tmp26 ;
2438 unsigned long __cil_tmp27 ;
2439 void *__cil_tmp28 ;
2440 struct Private *__cil_tmp29 ;
2441 unsigned long __cil_tmp30 ;
2442 unsigned long __cil_tmp31 ;
2443 unsigned int __cil_tmp32 ;
2444 int __cil_tmp33 ;
2445 int __cil_tmp34 ;
2446 int __cil_tmp35 ;
2447 unsigned int *__cil_tmp36 ;
2448 int __cil_tmp37 ;
2449 unsigned int __cil_tmp38 ;
2450 unsigned long __cil_tmp39 ;
2451 unsigned long __cil_tmp40 ;
2452 unsigned int __cil_tmp41 ;
2453 unsigned long __cil_tmp42 ;
2454 unsigned long __cil_tmp43 ;
2455 unsigned int __cil_tmp44 ;
2456 unsigned int __cil_tmp45 ;
2457 unsigned int __cil_tmp46 ;
2458 struct comedi_device *__cil_tmp47 ;
2459 unsigned long __cil_tmp48 ;
2460 unsigned long __cil_tmp49 ;
2461 unsigned int __cil_tmp50 ;
2462 unsigned int __cil_tmp51 ;
2463 unsigned long __cil_tmp52 ;
2464 unsigned long __cil_tmp53 ;
2465 unsigned long __cil_tmp54 ;
2466 unsigned long __cil_tmp55 ;
2467 unsigned int __cil_tmp56 ;
2468
2469 {
2470#line 331
2471 __cil_tmp10 = (unsigned long )insn;
2472#line 331
2473 __cil_tmp11 = __cil_tmp10 + 20;
2474#line 331
2475 __cil_tmp12 = *((unsigned int *)__cil_tmp11);
2476#line 331
2477 __cil_tmp13 = (int )__cil_tmp12;
2478#line 331
2479 chan = __cil_tmp13 & 65535;
2480#line 331
2481 __cil_tmp14 = (unsigned long )s;
2482#line 331
2483 __cil_tmp15 = __cil_tmp14 + 136;
2484#line 331
2485 io_bits = *((int *)__cil_tmp15);
2486#line 335
2487 if (chan < 0) {
2488#line 336
2489 return (-22);
2490 } else {
2491 {
2492#line 335
2493 __cil_tmp16 = (unsigned long )dev;
2494#line 335
2495 __cil_tmp17 = __cil_tmp16 + 16;
2496#line 335
2497 __cil_tmp18 = *((void **)__cil_tmp17);
2498#line 335
2499 __cil_tmp19 = (struct Private *)__cil_tmp18;
2500#line 335
2501 __cil_tmp20 = (unsigned long )__cil_tmp19;
2502#line 335
2503 __cil_tmp21 = __cil_tmp20 + 2320;
2504#line 335
2505 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
2506#line 335
2507 __cil_tmp23 = (unsigned int )chan;
2508#line 335
2509 if (__cil_tmp23 >= __cil_tmp22) {
2510#line 336
2511 return (-22);
2512 } else {
2513
2514 }
2515 }
2516 }
2517#line 337
2518 __cil_tmp24 = chan * 8UL;
2519#line 337
2520 __cil_tmp25 = 272 + __cil_tmp24;
2521#line 337
2522 __cil_tmp26 = (unsigned long )dev;
2523#line 337
2524 __cil_tmp27 = __cil_tmp26 + 16;
2525#line 337
2526 __cil_tmp28 = *((void **)__cil_tmp27);
2527#line 337
2528 __cil_tmp29 = (struct Private *)__cil_tmp28;
2529#line 337
2530 __cil_tmp30 = (unsigned long )__cil_tmp29;
2531#line 337
2532 __cil_tmp31 = __cil_tmp30 + __cil_tmp25;
2533#line 337
2534 bdev = *((struct BondedDevice **)__cil_tmp31);
2535 {
2536#line 343
2537 __cil_tmp32 = *data;
2538#line 344
2539 if ((int )__cil_tmp32 == 1) {
2540#line 344
2541 goto case_1;
2542 } else
2543#line 348
2544 if ((int )__cil_tmp32 == 0) {
2545#line 348
2546 goto case_0;
2547 } else
2548#line 352
2549 if ((int )__cil_tmp32 == 28) {
2550#line 352
2551 goto case_28;
2552 } else {
2553 {
2554#line 357
2555 goto switch_default;
2556#line 343
2557 if (0) {
2558 case_1:
2559#line 345
2560 io = 1U;
2561#line 346
2562 __cil_tmp33 = 1 << chan;
2563#line 346
2564 io_bits = __cil_tmp33 | io_bits;
2565#line 347
2566 goto ldv_19379;
2567 case_0:
2568#line 349
2569 io = 0U;
2570#line 350
2571 __cil_tmp34 = 1 << chan;
2572#line 350
2573 __cil_tmp35 = ~ __cil_tmp34;
2574#line 350
2575 io_bits = __cil_tmp35 & io_bits;
2576#line 351
2577 goto ldv_19379;
2578 case_28:
2579#line 353
2580 __cil_tmp36 = data + 1UL;
2581#line 353
2582 __cil_tmp37 = io_bits >> chan;
2583#line 353
2584 __cil_tmp38 = (unsigned int )__cil_tmp37;
2585#line 353
2586 *__cil_tmp36 = __cil_tmp38 & 1U;
2587 {
2588#line 355
2589 __cil_tmp39 = (unsigned long )insn;
2590#line 355
2591 __cil_tmp40 = __cil_tmp39 + 4;
2592#line 355
2593 __cil_tmp41 = *((unsigned int *)__cil_tmp40);
2594#line 355
2595 return ((int )__cil_tmp41);
2596 }
2597 switch_default: ;
2598#line 358
2599 return (-22);
2600 } else {
2601 switch_break: ;
2602 }
2603 }
2604 }
2605 }
2606 ldv_19379:
2607 {
2608#line 362
2609 __cil_tmp42 = (unsigned long )bdev;
2610#line 362
2611 __cil_tmp43 = __cil_tmp42 + 24;
2612#line 362
2613 __cil_tmp44 = *((unsigned int *)__cil_tmp43);
2614#line 362
2615 __cil_tmp45 = (unsigned int )chan;
2616#line 362
2617 __cil_tmp46 = __cil_tmp45 - __cil_tmp44;
2618#line 362
2619 chan = (int )__cil_tmp46;
2620#line 363
2621 __cil_tmp47 = *((struct comedi_device **)bdev);
2622#line 363
2623 __cil_tmp48 = (unsigned long )bdev;
2624#line 363
2625 __cil_tmp49 = __cil_tmp48 + 12;
2626#line 363
2627 __cil_tmp50 = *((unsigned int *)__cil_tmp49);
2628#line 363
2629 __cil_tmp51 = (unsigned int )chan;
2630#line 363
2631 ret = comedi_dio_config(__cil_tmp47, __cil_tmp50, __cil_tmp51, io);
2632 }
2633#line 364
2634 if (ret != 1) {
2635#line 365
2636 return (-22);
2637 } else {
2638
2639 }
2640#line 368
2641 __cil_tmp52 = (unsigned long )s;
2642#line 368
2643 __cil_tmp53 = __cil_tmp52 + 136;
2644#line 368
2645 *((int *)__cil_tmp53) = io_bits;
2646 {
2647#line 369
2648 __cil_tmp54 = (unsigned long )insn;
2649#line 369
2650 __cil_tmp55 = __cil_tmp54 + 4;
2651#line 369
2652 __cil_tmp56 = *((unsigned int *)__cil_tmp55);
2653#line 369
2654 return ((int )__cil_tmp56);
2655 }
2656}
2657}
2658#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
2659static void *Realloc(void const *oldmem , size_t newlen , size_t oldlen )
2660{ void *newmem ;
2661 void *tmp ;
2662 size_t __len ;
2663 size_t _min1 ;
2664 size_t _min2 ;
2665 size_t tmp___0 ;
2666 void *__ret ;
2667 void *__cil_tmp11 ;
2668 unsigned long __cil_tmp12 ;
2669 unsigned long __cil_tmp13 ;
2670 void const *__cil_tmp14 ;
2671 unsigned long __cil_tmp15 ;
2672 unsigned long __cil_tmp16 ;
2673
2674 {
2675 {
2676#line 374
2677 tmp = kmalloc(newlen, 208U);
2678#line 374
2679 newmem = tmp;
2680 }
2681 {
2682#line 376
2683 __cil_tmp11 = (void *)0;
2684#line 376
2685 __cil_tmp12 = (unsigned long )__cil_tmp11;
2686#line 376
2687 __cil_tmp13 = (unsigned long )newmem;
2688#line 376
2689 if (__cil_tmp13 != __cil_tmp12) {
2690 {
2691#line 376
2692 __cil_tmp14 = (void const *)0;
2693#line 376
2694 __cil_tmp15 = (unsigned long )__cil_tmp14;
2695#line 376
2696 __cil_tmp16 = (unsigned long )oldmem;
2697#line 376
2698 if (__cil_tmp16 != __cil_tmp15) {
2699#line 377
2700 _min1 = oldlen;
2701#line 377
2702 _min2 = newlen;
2703#line 377
2704 if (_min1 < _min2) {
2705#line 377
2706 tmp___0 = _min1;
2707 } else {
2708#line 377
2709 tmp___0 = _min2;
2710 }
2711 {
2712#line 377
2713 __len = tmp___0;
2714#line 377
2715 __ret = __builtin_memcpy(newmem, oldmem, __len);
2716 }
2717 } else {
2718
2719 }
2720 }
2721 } else {
2722
2723 }
2724 }
2725 {
2726#line 378
2727 kfree(oldmem);
2728 }
2729#line 379
2730 return (newmem);
2731}
2732}
2733#line 382 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
2734static int doDevConfig(struct comedi_device *dev , struct comedi_devconfig *it )
2735{ int i ;
2736 struct comedi_device *devs_opened[48U] ;
2737 char file[18U] ;
2738 int minor ;
2739 struct comedi_device *d ;
2740 int sdev ;
2741 int nchans ;
2742 int tmp ;
2743 struct BondedDevice *bdev ;
2744 struct comedi_device *tmp___0 ;
2745 void *tmp___1 ;
2746 unsigned int tmp___2 ;
2747 int tmp___3 ;
2748 void *tmp___4 ;
2749 char buf[20U] ;
2750 int left ;
2751 size_t tmp___5 ;
2752 void *__cil_tmp20 ;
2753 unsigned long __cil_tmp21 ;
2754 unsigned long __cil_tmp22 ;
2755 unsigned long __cil_tmp23 ;
2756 unsigned long __cil_tmp24 ;
2757 void *__cil_tmp25 ;
2758 struct Private *__cil_tmp26 ;
2759 unsigned long __cil_tmp27 ;
2760 unsigned long __cil_tmp28 ;
2761 unsigned long __cil_tmp29 ;
2762 unsigned long __cil_tmp30 ;
2763 unsigned long __cil_tmp31 ;
2764 unsigned long __cil_tmp32 ;
2765 unsigned long __cil_tmp33 ;
2766 unsigned long __cil_tmp34 ;
2767 unsigned long __cil_tmp35 ;
2768 unsigned long __cil_tmp36 ;
2769 unsigned long __cil_tmp37 ;
2770 unsigned long __cil_tmp38 ;
2771 unsigned long __cil_tmp39 ;
2772 unsigned long __cil_tmp40 ;
2773 unsigned long __cil_tmp41 ;
2774 unsigned long __cil_tmp42 ;
2775 unsigned long __cil_tmp43 ;
2776 unsigned long __cil_tmp44 ;
2777 unsigned long __cil_tmp45 ;
2778 unsigned long __cil_tmp46 ;
2779 unsigned long __cil_tmp47 ;
2780 unsigned long __cil_tmp48 ;
2781 unsigned long __cil_tmp49 ;
2782 unsigned long __cil_tmp50 ;
2783 unsigned long __cil_tmp51 ;
2784 unsigned long __cil_tmp52 ;
2785 unsigned long __cil_tmp53 ;
2786 unsigned long __cil_tmp54 ;
2787 unsigned long __cil_tmp55 ;
2788 unsigned long __cil_tmp56 ;
2789 unsigned long __cil_tmp57 ;
2790 unsigned long __cil_tmp58 ;
2791 unsigned long __cil_tmp59 ;
2792 unsigned long __cil_tmp60 ;
2793 unsigned long __cil_tmp61 ;
2794 unsigned long __cil_tmp62 ;
2795 unsigned long __cil_tmp63 ;
2796 unsigned long __cil_tmp64 ;
2797 unsigned long __cil_tmp65 ;
2798 unsigned long __cil_tmp66 ;
2799 unsigned long __cil_tmp67 ;
2800 unsigned long __cil_tmp68 ;
2801 unsigned long __cil_tmp69 ;
2802 unsigned long __cil_tmp70 ;
2803 int __cil_tmp71 ;
2804 struct comedi_device *__cil_tmp72 ;
2805 unsigned long __cil_tmp73 ;
2806 unsigned long __cil_tmp74 ;
2807 unsigned long __cil_tmp75 ;
2808 struct comedi_device *__cil_tmp76 ;
2809 unsigned long __cil_tmp77 ;
2810 char *__cil_tmp78 ;
2811 unsigned long __cil_tmp79 ;
2812 unsigned long __cil_tmp80 ;
2813 char const *__cil_tmp81 ;
2814 unsigned long __cil_tmp82 ;
2815 unsigned long __cil_tmp83 ;
2816 struct comedi_device *__cil_tmp84 ;
2817 unsigned long __cil_tmp85 ;
2818 unsigned long __cil_tmp86 ;
2819 unsigned int __cil_tmp87 ;
2820 struct BondedDevice *__cil_tmp88 ;
2821 unsigned long __cil_tmp89 ;
2822 unsigned long __cil_tmp90 ;
2823 unsigned long __cil_tmp91 ;
2824 unsigned long __cil_tmp92 ;
2825 unsigned long __cil_tmp93 ;
2826 unsigned long __cil_tmp94 ;
2827 unsigned long __cil_tmp95 ;
2828 unsigned long __cil_tmp96 ;
2829 unsigned long __cil_tmp97 ;
2830 unsigned long __cil_tmp98 ;
2831 unsigned long __cil_tmp99 ;
2832 unsigned long __cil_tmp100 ;
2833 unsigned long __cil_tmp101 ;
2834 unsigned long __cil_tmp102 ;
2835 void *__cil_tmp103 ;
2836 struct Private *__cil_tmp104 ;
2837 unsigned long __cil_tmp105 ;
2838 unsigned long __cil_tmp106 ;
2839 unsigned long __cil_tmp107 ;
2840 unsigned long __cil_tmp108 ;
2841 void *__cil_tmp109 ;
2842 struct Private *__cil_tmp110 ;
2843 unsigned long __cil_tmp111 ;
2844 unsigned long __cil_tmp112 ;
2845 unsigned long __cil_tmp113 ;
2846 unsigned long __cil_tmp114 ;
2847 void *__cil_tmp115 ;
2848 struct Private *__cil_tmp116 ;
2849 unsigned long __cil_tmp117 ;
2850 unsigned long __cil_tmp118 ;
2851 unsigned long __cil_tmp119 ;
2852 unsigned long __cil_tmp120 ;
2853 void *__cil_tmp121 ;
2854 struct Private *__cil_tmp122 ;
2855 unsigned long __cil_tmp123 ;
2856 unsigned long __cil_tmp124 ;
2857 unsigned int __cil_tmp125 ;
2858 unsigned long __cil_tmp126 ;
2859 unsigned long __cil_tmp127 ;
2860 unsigned long __cil_tmp128 ;
2861 unsigned long __cil_tmp129 ;
2862 void *__cil_tmp130 ;
2863 struct Private *__cil_tmp131 ;
2864 unsigned long __cil_tmp132 ;
2865 unsigned long __cil_tmp133 ;
2866 unsigned long __cil_tmp134 ;
2867 unsigned long __cil_tmp135 ;
2868 void *__cil_tmp136 ;
2869 struct Private *__cil_tmp137 ;
2870 unsigned long __cil_tmp138 ;
2871 unsigned long __cil_tmp139 ;
2872 unsigned int __cil_tmp140 ;
2873 unsigned int __cil_tmp141 ;
2874 unsigned long __cil_tmp142 ;
2875 unsigned long __cil_tmp143 ;
2876 void *__cil_tmp144 ;
2877 struct Private *__cil_tmp145 ;
2878 unsigned long __cil_tmp146 ;
2879 unsigned long __cil_tmp147 ;
2880 unsigned long __cil_tmp148 ;
2881 unsigned long __cil_tmp149 ;
2882 void *__cil_tmp150 ;
2883 struct Private *__cil_tmp151 ;
2884 unsigned long __cil_tmp152 ;
2885 unsigned long __cil_tmp153 ;
2886 unsigned int __cil_tmp154 ;
2887 unsigned long __cil_tmp155 ;
2888 unsigned long __cil_tmp156 ;
2889 void *__cil_tmp157 ;
2890 struct Private *__cil_tmp158 ;
2891 unsigned long __cil_tmp159 ;
2892 unsigned long __cil_tmp160 ;
2893 struct BondedDevice **__cil_tmp161 ;
2894 void const *__cil_tmp162 ;
2895 unsigned long __cil_tmp163 ;
2896 unsigned long __cil_tmp164 ;
2897 void *__cil_tmp165 ;
2898 struct Private *__cil_tmp166 ;
2899 unsigned long __cil_tmp167 ;
2900 unsigned long __cil_tmp168 ;
2901 unsigned int __cil_tmp169 ;
2902 unsigned long __cil_tmp170 ;
2903 unsigned long __cil_tmp171 ;
2904 size_t __cil_tmp172 ;
2905 unsigned long __cil_tmp173 ;
2906 unsigned long __cil_tmp174 ;
2907 void *__cil_tmp175 ;
2908 struct Private *__cil_tmp176 ;
2909 unsigned long __cil_tmp177 ;
2910 unsigned long __cil_tmp178 ;
2911 struct BondedDevice **__cil_tmp179 ;
2912 unsigned long __cil_tmp180 ;
2913 unsigned long __cil_tmp181 ;
2914 unsigned long __cil_tmp182 ;
2915 void *__cil_tmp183 ;
2916 struct Private *__cil_tmp184 ;
2917 unsigned long __cil_tmp185 ;
2918 unsigned long __cil_tmp186 ;
2919 struct BondedDevice **__cil_tmp187 ;
2920 unsigned long __cil_tmp188 ;
2921 unsigned long __cil_tmp189 ;
2922 unsigned long __cil_tmp190 ;
2923 void *__cil_tmp191 ;
2924 struct Private *__cil_tmp192 ;
2925 unsigned long __cil_tmp193 ;
2926 unsigned long __cil_tmp194 ;
2927 unsigned int __cil_tmp195 ;
2928 unsigned int __cil_tmp196 ;
2929 unsigned long __cil_tmp197 ;
2930 unsigned long __cil_tmp198 ;
2931 unsigned long __cil_tmp199 ;
2932 void *__cil_tmp200 ;
2933 struct Private *__cil_tmp201 ;
2934 unsigned long __cil_tmp202 ;
2935 unsigned long __cil_tmp203 ;
2936 struct BondedDevice **__cil_tmp204 ;
2937 struct BondedDevice **__cil_tmp205 ;
2938 unsigned long __cil_tmp206 ;
2939 unsigned long __cil_tmp207 ;
2940 void *__cil_tmp208 ;
2941 struct Private *__cil_tmp209 ;
2942 char (*__cil_tmp210)[256U] ;
2943 char const *__cil_tmp211 ;
2944 unsigned int __cil_tmp212 ;
2945 unsigned int __cil_tmp213 ;
2946 char *__cil_tmp214 ;
2947 unsigned long __cil_tmp215 ;
2948 unsigned long __cil_tmp216 ;
2949 int __cil_tmp217 ;
2950 unsigned long __cil_tmp218 ;
2951 unsigned long __cil_tmp219 ;
2952 unsigned int __cil_tmp220 ;
2953 unsigned long __cil_tmp221 ;
2954 unsigned long __cil_tmp222 ;
2955 unsigned long __cil_tmp223 ;
2956 unsigned long __cil_tmp224 ;
2957 void *__cil_tmp225 ;
2958 struct Private *__cil_tmp226 ;
2959 char (*__cil_tmp227)[256U] ;
2960 char *__cil_tmp228 ;
2961 char const *__cil_tmp229 ;
2962 __kernel_size_t __cil_tmp230 ;
2963 int __cil_tmp231 ;
2964 unsigned int __cil_tmp232 ;
2965 unsigned long __cil_tmp233 ;
2966 unsigned long __cil_tmp234 ;
2967 unsigned long __cil_tmp235 ;
2968 unsigned long __cil_tmp236 ;
2969 int __cil_tmp237 ;
2970 unsigned long __cil_tmp238 ;
2971 unsigned long __cil_tmp239 ;
2972 void *__cil_tmp240 ;
2973 struct Private *__cil_tmp241 ;
2974 unsigned long __cil_tmp242 ;
2975 unsigned long __cil_tmp243 ;
2976 unsigned int __cil_tmp244 ;
2977
2978 {
2979 {
2980#line 387
2981 __cil_tmp20 = (void *)(& devs_opened);
2982#line 387
2983 memset(__cil_tmp20, 0, 384UL);
2984#line 388
2985 __cil_tmp21 = 0 * 1UL;
2986#line 388
2987 __cil_tmp22 = 0 + __cil_tmp21;
2988#line 388
2989 __cil_tmp23 = (unsigned long )dev;
2990#line 388
2991 __cil_tmp24 = __cil_tmp23 + 16;
2992#line 388
2993 __cil_tmp25 = *((void **)__cil_tmp24);
2994#line 388
2995 __cil_tmp26 = (struct Private *)__cil_tmp25;
2996#line 388
2997 __cil_tmp27 = (unsigned long )__cil_tmp26;
2998#line 388
2999 __cil_tmp28 = __cil_tmp27 + __cil_tmp22;
3000#line 388
3001 *((char *)__cil_tmp28) = (char)0;
3002#line 391
3003 i = 0;
3004 }
3005#line 391
3006 goto ldv_19420;
3007 ldv_19419:
3008#line 392
3009 __cil_tmp29 = 0 * 1UL;
3010#line 392
3011 __cil_tmp30 = (unsigned long )(file) + __cil_tmp29;
3012#line 392
3013 *((char *)__cil_tmp30) = (char )'/';
3014#line 392
3015 __cil_tmp31 = 1 * 1UL;
3016#line 392
3017 __cil_tmp32 = (unsigned long )(file) + __cil_tmp31;
3018#line 392
3019 *((char *)__cil_tmp32) = (char )'d';
3020#line 392
3021 __cil_tmp33 = 2 * 1UL;
3022#line 392
3023 __cil_tmp34 = (unsigned long )(file) + __cil_tmp33;
3024#line 392
3025 *((char *)__cil_tmp34) = (char )'e';
3026#line 392
3027 __cil_tmp35 = 3 * 1UL;
3028#line 392
3029 __cil_tmp36 = (unsigned long )(file) + __cil_tmp35;
3030#line 392
3031 *((char *)__cil_tmp36) = (char )'v';
3032#line 392
3033 __cil_tmp37 = 4 * 1UL;
3034#line 392
3035 __cil_tmp38 = (unsigned long )(file) + __cil_tmp37;
3036#line 392
3037 *((char *)__cil_tmp38) = (char )'/';
3038#line 392
3039 __cil_tmp39 = 5 * 1UL;
3040#line 392
3041 __cil_tmp40 = (unsigned long )(file) + __cil_tmp39;
3042#line 392
3043 *((char *)__cil_tmp40) = (char )'c';
3044#line 392
3045 __cil_tmp41 = 6 * 1UL;
3046#line 392
3047 __cil_tmp42 = (unsigned long )(file) + __cil_tmp41;
3048#line 392
3049 *((char *)__cil_tmp42) = (char )'o';
3050#line 392
3051 __cil_tmp43 = 7 * 1UL;
3052#line 392
3053 __cil_tmp44 = (unsigned long )(file) + __cil_tmp43;
3054#line 392
3055 *((char *)__cil_tmp44) = (char )'m';
3056#line 392
3057 __cil_tmp45 = 8 * 1UL;
3058#line 392
3059 __cil_tmp46 = (unsigned long )(file) + __cil_tmp45;
3060#line 392
3061 *((char *)__cil_tmp46) = (char )'e';
3062#line 392
3063 __cil_tmp47 = 9 * 1UL;
3064#line 392
3065 __cil_tmp48 = (unsigned long )(file) + __cil_tmp47;
3066#line 392
3067 *((char *)__cil_tmp48) = (char )'d';
3068#line 392
3069 __cil_tmp49 = 10 * 1UL;
3070#line 392
3071 __cil_tmp50 = (unsigned long )(file) + __cil_tmp49;
3072#line 392
3073 *((char *)__cil_tmp50) = (char )'i';
3074#line 392
3075 __cil_tmp51 = 11 * 1UL;
3076#line 392
3077 __cil_tmp52 = (unsigned long )(file) + __cil_tmp51;
3078#line 392
3079 *((char *)__cil_tmp52) = (char )'X';
3080#line 392
3081 __cil_tmp53 = 12 * 1UL;
3082#line 392
3083 __cil_tmp54 = (unsigned long )(file) + __cil_tmp53;
3084#line 392
3085 *((char *)__cil_tmp54) = (char )'X';
3086#line 392
3087 __cil_tmp55 = 13 * 1UL;
3088#line 392
3089 __cil_tmp56 = (unsigned long )(file) + __cil_tmp55;
3090#line 392
3091 *((char *)__cil_tmp56) = (char )'X';
3092#line 392
3093 __cil_tmp57 = 14 * 1UL;
3094#line 392
3095 __cil_tmp58 = (unsigned long )(file) + __cil_tmp57;
3096#line 392
3097 *((char *)__cil_tmp58) = (char )'X';
3098#line 392
3099 __cil_tmp59 = 15 * 1UL;
3100#line 392
3101 __cil_tmp60 = (unsigned long )(file) + __cil_tmp59;
3102#line 392
3103 *((char *)__cil_tmp60) = (char )'X';
3104#line 392
3105 __cil_tmp61 = 16 * 1UL;
3106#line 392
3107 __cil_tmp62 = (unsigned long )(file) + __cil_tmp61;
3108#line 392
3109 *((char *)__cil_tmp62) = (char )'X';
3110#line 392
3111 __cil_tmp63 = 17 * 1UL;
3112#line 392
3113 __cil_tmp64 = (unsigned long )(file) + __cil_tmp63;
3114#line 392
3115 *((char *)__cil_tmp64) = (char )'\000';
3116#line 393
3117 __cil_tmp65 = i * 4UL;
3118#line 393
3119 __cil_tmp66 = 20 + __cil_tmp65;
3120#line 393
3121 __cil_tmp67 = (unsigned long )it;
3122#line 393
3123 __cil_tmp68 = __cil_tmp67 + __cil_tmp66;
3124#line 393
3125 minor = *((int *)__cil_tmp68);
3126#line 395
3127 sdev = -1;
3128#line 396
3129 bdev = (struct BondedDevice *)0;
3130#line 398
3131 if (minor < 0) {
3132 {
3133#line 399
3134 printk("<3>comedi_bond: INTERNAL ERROR: Minor %d is invalid!\n", minor);
3135 }
3136#line 400
3137 return (0);
3138 } else
3139#line 398
3140 if (minor > 47) {
3141 {
3142#line 399
3143 printk("<3>comedi_bond: INTERNAL ERROR: Minor %d is invalid!\n", minor);
3144 }
3145#line 400
3146 return (0);
3147 } else {
3148
3149 }
3150 {
3151#line 402
3152 __cil_tmp69 = (unsigned long )dev;
3153#line 402
3154 __cil_tmp70 = __cil_tmp69 + 32;
3155#line 402
3156 __cil_tmp71 = *((int *)__cil_tmp70);
3157#line 402
3158 if (__cil_tmp71 == minor) {
3159 {
3160#line 403
3161 printk("<3>comedi_bond: INTERNAL ERROR: Cannot bond this driver to itself!\n");
3162 }
3163#line 404
3164 return (0);
3165 } else {
3166
3167 }
3168 }
3169 {
3170#line 406
3171 __cil_tmp72 = (struct comedi_device *)0;
3172#line 406
3173 __cil_tmp73 = (unsigned long )__cil_tmp72;
3174#line 406
3175 __cil_tmp74 = minor * 8UL;
3176#line 406
3177 __cil_tmp75 = (unsigned long )(devs_opened) + __cil_tmp74;
3178#line 406
3179 __cil_tmp76 = *((struct comedi_device **)__cil_tmp75);
3180#line 406
3181 __cil_tmp77 = (unsigned long )__cil_tmp76;
3182#line 406
3183 if (__cil_tmp77 != __cil_tmp73) {
3184 {
3185#line 407
3186 printk("<3>comedi_bond: INTERNAL ERROR: Minor %d specified more than once!\n",
3187 minor);
3188 }
3189#line 408
3190 return (0);
3191 } else {
3192
3193 }
3194 }
3195 {
3196#line 411
3197 __cil_tmp78 = (char *)(& file);
3198#line 411
3199 snprintf(__cil_tmp78, 18UL, "/dev/comedi%u", minor);
3200#line 412
3201 __cil_tmp79 = 17UL * 1UL;
3202#line 412
3203 __cil_tmp80 = (unsigned long )(file) + __cil_tmp79;
3204#line 412
3205 *((char *)__cil_tmp80) = (char)0;
3206#line 414
3207 __cil_tmp81 = (char const *)(& file);
3208#line 414
3209 tmp___0 = comedi_open(__cil_tmp81);
3210#line 414
3211 __cil_tmp82 = minor * 8UL;
3212#line 414
3213 __cil_tmp83 = (unsigned long )(devs_opened) + __cil_tmp82;
3214#line 414
3215 *((struct comedi_device **)__cil_tmp83) = tmp___0;
3216#line 414
3217 d = tmp___0;
3218 }
3219 {
3220#line 416
3221 __cil_tmp84 = (struct comedi_device *)0;
3222#line 416
3223 __cil_tmp85 = (unsigned long )__cil_tmp84;
3224#line 416
3225 __cil_tmp86 = (unsigned long )d;
3226#line 416
3227 if (__cil_tmp86 == __cil_tmp85) {
3228 {
3229#line 417
3230 printk("<3>comedi_bond: INTERNAL ERROR: Minor %u could not be opened\n", minor);
3231 }
3232#line 418
3233 return (0);
3234 } else {
3235
3236 }
3237 }
3238#line 422
3239 goto ldv_19417;
3240 ldv_19416:
3241 {
3242#line 424
3243 __cil_tmp87 = (unsigned int )sdev;
3244#line 424
3245 nchans = comedi_get_n_channels(d, __cil_tmp87);
3246 }
3247#line 425
3248 if (nchans <= 0) {
3249 {
3250#line 426
3251 printk("<3>comedi_bond: INTERNAL ERROR: comedi_get_n_channels() returned %d on minor %u subdev %d!\n",
3252 nchans, minor, sdev);
3253 }
3254#line 429
3255 return (0);
3256 } else {
3257
3258 }
3259 {
3260#line 431
3261 tmp___1 = kmalloc(32UL, 208U);
3262#line 431
3263 bdev = (struct BondedDevice *)tmp___1;
3264 }
3265 {
3266#line 432
3267 __cil_tmp88 = (struct BondedDevice *)0;
3268#line 432
3269 __cil_tmp89 = (unsigned long )__cil_tmp88;
3270#line 432
3271 __cil_tmp90 = (unsigned long )bdev;
3272#line 432
3273 if (__cil_tmp90 == __cil_tmp89) {
3274 {
3275#line 433
3276 printk("<3>comedi_bond: INTERNAL ERROR: Out of memory.\n");
3277 }
3278#line 434
3279 return (0);
3280 } else {
3281
3282 }
3283 }
3284#line 436
3285 *((struct comedi_device **)bdev) = d;
3286#line 437
3287 __cil_tmp91 = (unsigned long )bdev;
3288#line 437
3289 __cil_tmp92 = __cil_tmp91 + 8;
3290#line 437
3291 *((unsigned int *)__cil_tmp92) = (unsigned int )minor;
3292#line 438
3293 __cil_tmp93 = (unsigned long )bdev;
3294#line 438
3295 __cil_tmp94 = __cil_tmp93 + 12;
3296#line 438
3297 *((unsigned int *)__cil_tmp94) = (unsigned int )sdev;
3298#line 439
3299 __cil_tmp95 = (unsigned long )bdev;
3300#line 439
3301 __cil_tmp96 = __cil_tmp95 + 16;
3302#line 439
3303 *((unsigned int *)__cil_tmp96) = 5U;
3304#line 440
3305 __cil_tmp97 = (unsigned long )bdev;
3306#line 440
3307 __cil_tmp98 = __cil_tmp97 + 20;
3308#line 440
3309 *((unsigned int *)__cil_tmp98) = (unsigned int )nchans;
3310#line 441
3311 __cil_tmp99 = (unsigned long )bdev;
3312#line 441
3313 __cil_tmp100 = __cil_tmp99 + 24;
3314#line 441
3315 __cil_tmp101 = (unsigned long )dev;
3316#line 441
3317 __cil_tmp102 = __cil_tmp101 + 16;
3318#line 441
3319 __cil_tmp103 = *((void **)__cil_tmp102);
3320#line 441
3321 __cil_tmp104 = (struct Private *)__cil_tmp103;
3322#line 441
3323 __cil_tmp105 = (unsigned long )__cil_tmp104;
3324#line 441
3325 __cil_tmp106 = __cil_tmp105 + 2320;
3326#line 441
3327 *((unsigned int *)__cil_tmp100) = *((unsigned int *)__cil_tmp106);
3328#line 444
3329 goto ldv_19412;
3330 ldv_19411:
3331#line 445
3332 __cil_tmp107 = (unsigned long )dev;
3333#line 445
3334 __cil_tmp108 = __cil_tmp107 + 16;
3335#line 445
3336 __cil_tmp109 = *((void **)__cil_tmp108);
3337#line 445
3338 __cil_tmp110 = (struct Private *)__cil_tmp109;
3339#line 445
3340 __cil_tmp111 = (unsigned long )__cil_tmp110;
3341#line 445
3342 __cil_tmp112 = __cil_tmp111 + 2320;
3343#line 445
3344 tmp___2 = *((unsigned int *)__cil_tmp112);
3345#line 445
3346 __cil_tmp113 = (unsigned long )dev;
3347#line 445
3348 __cil_tmp114 = __cil_tmp113 + 16;
3349#line 445
3350 __cil_tmp115 = *((void **)__cil_tmp114);
3351#line 445
3352 __cil_tmp116 = (struct Private *)__cil_tmp115;
3353#line 445
3354 __cil_tmp117 = (unsigned long )__cil_tmp116;
3355#line 445
3356 __cil_tmp118 = __cil_tmp117 + 2320;
3357#line 445
3358 __cil_tmp119 = (unsigned long )dev;
3359#line 445
3360 __cil_tmp120 = __cil_tmp119 + 16;
3361#line 445
3362 __cil_tmp121 = *((void **)__cil_tmp120);
3363#line 445
3364 __cil_tmp122 = (struct Private *)__cil_tmp121;
3365#line 445
3366 __cil_tmp123 = (unsigned long )__cil_tmp122;
3367#line 445
3368 __cil_tmp124 = __cil_tmp123 + 2320;
3369#line 445
3370 __cil_tmp125 = *((unsigned int *)__cil_tmp124);
3371#line 445
3372 *((unsigned int *)__cil_tmp118) = __cil_tmp125 + 1U;
3373#line 445
3374 __cil_tmp126 = tmp___2 * 8UL;
3375#line 445
3376 __cil_tmp127 = 272 + __cil_tmp126;
3377#line 445
3378 __cil_tmp128 = (unsigned long )dev;
3379#line 445
3380 __cil_tmp129 = __cil_tmp128 + 16;
3381#line 445
3382 __cil_tmp130 = *((void **)__cil_tmp129);
3383#line 445
3384 __cil_tmp131 = (struct Private *)__cil_tmp130;
3385#line 445
3386 __cil_tmp132 = (unsigned long )__cil_tmp131;
3387#line 445
3388 __cil_tmp133 = __cil_tmp132 + __cil_tmp127;
3389#line 445
3390 *((struct BondedDevice **)__cil_tmp133) = bdev;
3391 ldv_19412:
3392#line 444
3393 tmp___3 = nchans;
3394#line 444
3395 nchans = nchans - 1;
3396#line 444
3397 if (tmp___3 != 0) {
3398#line 445
3399 goto ldv_19411;
3400 } else {
3401#line 447
3402 goto ldv_19413;
3403 }
3404 ldv_19413:
3405 {
3406#line 451
3407 __cil_tmp134 = (unsigned long )dev;
3408#line 451
3409 __cil_tmp135 = __cil_tmp134 + 16;
3410#line 451
3411 __cil_tmp136 = *((void **)__cil_tmp135);
3412#line 451
3413 __cil_tmp137 = (struct Private *)__cil_tmp136;
3414#line 451
3415 __cil_tmp138 = (unsigned long )__cil_tmp137;
3416#line 451
3417 __cil_tmp139 = __cil_tmp138 + 264;
3418#line 451
3419 __cil_tmp140 = *((unsigned int *)__cil_tmp139);
3420#line 451
3421 __cil_tmp141 = __cil_tmp140 * 8U;
3422#line 451
3423 tmp = (int )__cil_tmp141;
3424#line 452
3425 __cil_tmp142 = (unsigned long )dev;
3426#line 452
3427 __cil_tmp143 = __cil_tmp142 + 16;
3428#line 452
3429 __cil_tmp144 = *((void **)__cil_tmp143);
3430#line 452
3431 __cil_tmp145 = (struct Private *)__cil_tmp144;
3432#line 452
3433 __cil_tmp146 = (unsigned long )__cil_tmp145;
3434#line 452
3435 __cil_tmp147 = __cil_tmp146 + 264;
3436#line 452
3437 __cil_tmp148 = (unsigned long )dev;
3438#line 452
3439 __cil_tmp149 = __cil_tmp148 + 16;
3440#line 452
3441 __cil_tmp150 = *((void **)__cil_tmp149);
3442#line 452
3443 __cil_tmp151 = (struct Private *)__cil_tmp150;
3444#line 452
3445 __cil_tmp152 = (unsigned long )__cil_tmp151;
3446#line 452
3447 __cil_tmp153 = __cil_tmp152 + 264;
3448#line 452
3449 __cil_tmp154 = *((unsigned int *)__cil_tmp153);
3450#line 452
3451 *((unsigned int *)__cil_tmp147) = __cil_tmp154 + 1U;
3452#line 452
3453 __cil_tmp155 = (unsigned long )dev;
3454#line 452
3455 __cil_tmp156 = __cil_tmp155 + 16;
3456#line 452
3457 __cil_tmp157 = *((void **)__cil_tmp156);
3458#line 452
3459 __cil_tmp158 = (struct Private *)__cil_tmp157;
3460#line 452
3461 __cil_tmp159 = (unsigned long )__cil_tmp158;
3462#line 452
3463 __cil_tmp160 = __cil_tmp159 + 256;
3464#line 452
3465 __cil_tmp161 = *((struct BondedDevice ***)__cil_tmp160);
3466#line 452
3467 __cil_tmp162 = (void const *)__cil_tmp161;
3468#line 452
3469 __cil_tmp163 = (unsigned long )dev;
3470#line 452
3471 __cil_tmp164 = __cil_tmp163 + 16;
3472#line 452
3473 __cil_tmp165 = *((void **)__cil_tmp164);
3474#line 452
3475 __cil_tmp166 = (struct Private *)__cil_tmp165;
3476#line 452
3477 __cil_tmp167 = (unsigned long )__cil_tmp166;
3478#line 452
3479 __cil_tmp168 = __cil_tmp167 + 264;
3480#line 452
3481 __cil_tmp169 = *((unsigned int *)__cil_tmp168);
3482#line 452
3483 __cil_tmp170 = (unsigned long )__cil_tmp169;
3484#line 452
3485 __cil_tmp171 = __cil_tmp170 * 8UL;
3486#line 452
3487 __cil_tmp172 = (size_t )tmp;
3488#line 452
3489 tmp___4 = Realloc(__cil_tmp162, __cil_tmp171, __cil_tmp172);
3490#line 452
3491 __cil_tmp173 = (unsigned long )dev;
3492#line 452
3493 __cil_tmp174 = __cil_tmp173 + 16;
3494#line 452
3495 __cil_tmp175 = *((void **)__cil_tmp174);
3496#line 452
3497 __cil_tmp176 = (struct Private *)__cil_tmp175;
3498#line 452
3499 __cil_tmp177 = (unsigned long )__cil_tmp176;
3500#line 452
3501 __cil_tmp178 = __cil_tmp177 + 256;
3502#line 452
3503 *((struct BondedDevice ***)__cil_tmp178) = (struct BondedDevice **)tmp___4;
3504 }
3505 {
3506#line 455
3507 __cil_tmp179 = (struct BondedDevice **)0;
3508#line 455
3509 __cil_tmp180 = (unsigned long )__cil_tmp179;
3510#line 455
3511 __cil_tmp181 = (unsigned long )dev;
3512#line 455
3513 __cil_tmp182 = __cil_tmp181 + 16;
3514#line 455
3515 __cil_tmp183 = *((void **)__cil_tmp182);
3516#line 455
3517 __cil_tmp184 = (struct Private *)__cil_tmp183;
3518#line 455
3519 __cil_tmp185 = (unsigned long )__cil_tmp184;
3520#line 455
3521 __cil_tmp186 = __cil_tmp185 + 256;
3522#line 455
3523 __cil_tmp187 = *((struct BondedDevice ***)__cil_tmp186);
3524#line 455
3525 __cil_tmp188 = (unsigned long )__cil_tmp187;
3526#line 455
3527 if (__cil_tmp188 == __cil_tmp180) {
3528 {
3529#line 456
3530 printk("<3>comedi_bond: INTERNAL ERROR: Could not allocate memory. Out of memory?");
3531 }
3532#line 458
3533 return (0);
3534 } else {
3535
3536 }
3537 }
3538 {
3539#line 461
3540 __cil_tmp189 = (unsigned long )dev;
3541#line 461
3542 __cil_tmp190 = __cil_tmp189 + 16;
3543#line 461
3544 __cil_tmp191 = *((void **)__cil_tmp190);
3545#line 461
3546 __cil_tmp192 = (struct Private *)__cil_tmp191;
3547#line 461
3548 __cil_tmp193 = (unsigned long )__cil_tmp192;
3549#line 461
3550 __cil_tmp194 = __cil_tmp193 + 264;
3551#line 461
3552 __cil_tmp195 = *((unsigned int *)__cil_tmp194);
3553#line 461
3554 __cil_tmp196 = __cil_tmp195 - 1U;
3555#line 461
3556 __cil_tmp197 = (unsigned long )__cil_tmp196;
3557#line 461
3558 __cil_tmp198 = (unsigned long )dev;
3559#line 461
3560 __cil_tmp199 = __cil_tmp198 + 16;
3561#line 461
3562 __cil_tmp200 = *((void **)__cil_tmp199);
3563#line 461
3564 __cil_tmp201 = (struct Private *)__cil_tmp200;
3565#line 461
3566 __cil_tmp202 = (unsigned long )__cil_tmp201;
3567#line 461
3568 __cil_tmp203 = __cil_tmp202 + 256;
3569#line 461
3570 __cil_tmp204 = *((struct BondedDevice ***)__cil_tmp203);
3571#line 461
3572 __cil_tmp205 = __cil_tmp204 + __cil_tmp197;
3573#line 461
3574 *__cil_tmp205 = bdev;
3575#line 465
3576 __cil_tmp206 = (unsigned long )dev;
3577#line 465
3578 __cil_tmp207 = __cil_tmp206 + 16;
3579#line 465
3580 __cil_tmp208 = *((void **)__cil_tmp207);
3581#line 465
3582 __cil_tmp209 = (struct Private *)__cil_tmp208;
3583#line 465
3584 __cil_tmp210 = (char (*)[256U])__cil_tmp209;
3585#line 465
3586 __cil_tmp211 = (char const *)__cil_tmp210;
3587#line 465
3588 tmp___5 = strlen(__cil_tmp211);
3589#line 465
3590 __cil_tmp212 = (unsigned int )tmp___5;
3591#line 465
3592 __cil_tmp213 = 255U - __cil_tmp212;
3593#line 465
3594 left = (int )__cil_tmp213;
3595#line 467
3596 __cil_tmp214 = (char *)(& buf);
3597#line 467
3598 __cil_tmp215 = (unsigned long )dev;
3599#line 467
3600 __cil_tmp216 = __cil_tmp215 + 32;
3601#line 467
3602 __cil_tmp217 = *((int *)__cil_tmp216);
3603#line 467
3604 __cil_tmp218 = (unsigned long )bdev;
3605#line 467
3606 __cil_tmp219 = __cil_tmp218 + 12;
3607#line 467
3608 __cil_tmp220 = *((unsigned int *)__cil_tmp219);
3609#line 467
3610 snprintf(__cil_tmp214, 20UL, "%d:%d ", __cil_tmp217, __cil_tmp220);
3611#line 469
3612 __cil_tmp221 = 19UL * 1UL;
3613#line 469
3614 __cil_tmp222 = (unsigned long )(buf) + __cil_tmp221;
3615#line 469
3616 *((char *)__cil_tmp222) = (char)0;
3617#line 470
3618 __cil_tmp223 = (unsigned long )dev;
3619#line 470
3620 __cil_tmp224 = __cil_tmp223 + 16;
3621#line 470
3622 __cil_tmp225 = *((void **)__cil_tmp224);
3623#line 470
3624 __cil_tmp226 = (struct Private *)__cil_tmp225;
3625#line 470
3626 __cil_tmp227 = (char (*)[256U])__cil_tmp226;
3627#line 470
3628 __cil_tmp228 = (char *)__cil_tmp227;
3629#line 470
3630 __cil_tmp229 = (char const *)(& buf);
3631#line 470
3632 __cil_tmp230 = (__kernel_size_t )left;
3633#line 470
3634 strncat(__cil_tmp228, __cil_tmp229, __cil_tmp230);
3635 }
3636 ldv_19417:
3637 {
3638#line 422
3639 __cil_tmp231 = sdev + 1;
3640#line 422
3641 __cil_tmp232 = (unsigned int )__cil_tmp231;
3642#line 422
3643 sdev = comedi_find_subdevice_by_type(d, 5, __cil_tmp232);
3644 }
3645#line 422
3646 if (sdev >= 0) {
3647#line 424
3648 goto ldv_19416;
3649 } else {
3650#line 426
3651 goto ldv_19418;
3652 }
3653 ldv_19418:
3654#line 391
3655 i = i + 1;
3656 ldv_19420: ;
3657#line 391
3658 if (i <= 31) {
3659#line 391
3660 if (i == 0) {
3661#line 392
3662 goto ldv_19419;
3663 } else {
3664 {
3665#line 391
3666 __cil_tmp233 = i * 4UL;
3667#line 391
3668 __cil_tmp234 = 20 + __cil_tmp233;
3669#line 391
3670 __cil_tmp235 = (unsigned long )it;
3671#line 391
3672 __cil_tmp236 = __cil_tmp235 + __cil_tmp234;
3673#line 391
3674 __cil_tmp237 = *((int *)__cil_tmp236);
3675#line 391
3676 if (__cil_tmp237 != 0) {
3677#line 392
3678 goto ldv_19419;
3679 } else {
3680#line 394
3681 goto ldv_19421;
3682 }
3683 }
3684 }
3685 } else {
3686#line 394
3687 goto ldv_19421;
3688 }
3689 ldv_19421: ;
3690 {
3691#line 476
3692 __cil_tmp238 = (unsigned long )dev;
3693#line 476
3694 __cil_tmp239 = __cil_tmp238 + 16;
3695#line 476
3696 __cil_tmp240 = *((void **)__cil_tmp239);
3697#line 476
3698 __cil_tmp241 = (struct Private *)__cil_tmp240;
3699#line 476
3700 __cil_tmp242 = (unsigned long )__cil_tmp241;
3701#line 476
3702 __cil_tmp243 = __cil_tmp242 + 2320;
3703#line 476
3704 __cil_tmp244 = *((unsigned int *)__cil_tmp243);
3705#line 476
3706 if (__cil_tmp244 == 0U) {
3707 {
3708#line 477
3709 printk("<3>comedi_bond: INTERNAL ERROR: No channels found!\n");
3710 }
3711#line 478
3712 return (0);
3713 } else {
3714
3715 }
3716 }
3717#line 481
3718 return (1);
3719}
3720}
3721#line 484 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
3722static void doDevUnconfig(struct comedi_device *dev )
3723{ unsigned long devs_closed ;
3724 struct BondedDevice *bdev ;
3725 unsigned int tmp ;
3726 void *__cil_tmp5 ;
3727 unsigned long __cil_tmp6 ;
3728 unsigned long __cil_tmp7 ;
3729 unsigned long __cil_tmp8 ;
3730 void *__cil_tmp9 ;
3731 unsigned long __cil_tmp10 ;
3732 unsigned long __cil_tmp11 ;
3733 unsigned long __cil_tmp12 ;
3734 void *__cil_tmp13 ;
3735 struct Private *__cil_tmp14 ;
3736 unsigned long __cil_tmp15 ;
3737 unsigned long __cil_tmp16 ;
3738 unsigned int __cil_tmp17 ;
3739 unsigned long __cil_tmp18 ;
3740 unsigned long __cil_tmp19 ;
3741 unsigned long __cil_tmp20 ;
3742 void *__cil_tmp21 ;
3743 struct Private *__cil_tmp22 ;
3744 unsigned long __cil_tmp23 ;
3745 unsigned long __cil_tmp24 ;
3746 struct BondedDevice **__cil_tmp25 ;
3747 struct BondedDevice **__cil_tmp26 ;
3748 struct BondedDevice *__cil_tmp27 ;
3749 unsigned long __cil_tmp28 ;
3750 unsigned long __cil_tmp29 ;
3751 unsigned long __cil_tmp30 ;
3752 unsigned long __cil_tmp31 ;
3753 unsigned int __cil_tmp32 ;
3754 int __cil_tmp33 ;
3755 int __cil_tmp34 ;
3756 unsigned long __cil_tmp35 ;
3757 unsigned long __cil_tmp36 ;
3758 struct comedi_device *__cil_tmp37 ;
3759 unsigned long __cil_tmp38 ;
3760 unsigned long __cil_tmp39 ;
3761 unsigned int __cil_tmp40 ;
3762 int __cil_tmp41 ;
3763 int __cil_tmp42 ;
3764 unsigned long __cil_tmp43 ;
3765 void const *__cil_tmp44 ;
3766 unsigned long __cil_tmp45 ;
3767 unsigned long __cil_tmp46 ;
3768 void *__cil_tmp47 ;
3769 struct Private *__cil_tmp48 ;
3770 unsigned long __cil_tmp49 ;
3771 unsigned long __cil_tmp50 ;
3772 unsigned long __cil_tmp51 ;
3773 unsigned long __cil_tmp52 ;
3774 void *__cil_tmp53 ;
3775 struct Private *__cil_tmp54 ;
3776 unsigned long __cil_tmp55 ;
3777 unsigned long __cil_tmp56 ;
3778 unsigned long __cil_tmp57 ;
3779 unsigned long __cil_tmp58 ;
3780 void *__cil_tmp59 ;
3781 struct Private *__cil_tmp60 ;
3782 unsigned long __cil_tmp61 ;
3783 unsigned long __cil_tmp62 ;
3784 unsigned int __cil_tmp63 ;
3785 struct BondedDevice **__cil_tmp64 ;
3786 unsigned long __cil_tmp65 ;
3787 unsigned long __cil_tmp66 ;
3788 unsigned long __cil_tmp67 ;
3789 void *__cil_tmp68 ;
3790 struct Private *__cil_tmp69 ;
3791 unsigned long __cil_tmp70 ;
3792 unsigned long __cil_tmp71 ;
3793 struct BondedDevice **__cil_tmp72 ;
3794 unsigned long __cil_tmp73 ;
3795 unsigned long __cil_tmp74 ;
3796 unsigned long __cil_tmp75 ;
3797 void *__cil_tmp76 ;
3798 struct Private *__cil_tmp77 ;
3799 unsigned long __cil_tmp78 ;
3800 unsigned long __cil_tmp79 ;
3801 struct BondedDevice **__cil_tmp80 ;
3802 void const *__cil_tmp81 ;
3803 unsigned long __cil_tmp82 ;
3804 unsigned long __cil_tmp83 ;
3805 void *__cil_tmp84 ;
3806 struct Private *__cil_tmp85 ;
3807 unsigned long __cil_tmp86 ;
3808 unsigned long __cil_tmp87 ;
3809 unsigned long __cil_tmp88 ;
3810 unsigned long __cil_tmp89 ;
3811 void *__cil_tmp90 ;
3812 void const *__cil_tmp91 ;
3813 unsigned long __cil_tmp92 ;
3814 unsigned long __cil_tmp93 ;
3815
3816 {
3817#line 486
3818 devs_closed = 0UL;
3819 {
3820#line 488
3821 __cil_tmp5 = (void *)0;
3822#line 488
3823 __cil_tmp6 = (unsigned long )__cil_tmp5;
3824#line 488
3825 __cil_tmp7 = (unsigned long )dev;
3826#line 488
3827 __cil_tmp8 = __cil_tmp7 + 16;
3828#line 488
3829 __cil_tmp9 = *((void **)__cil_tmp8);
3830#line 488
3831 __cil_tmp10 = (unsigned long )__cil_tmp9;
3832#line 488
3833 if (__cil_tmp10 != __cil_tmp6) {
3834#line 489
3835 goto ldv_19427;
3836 ldv_19428:
3837#line 492
3838 __cil_tmp11 = (unsigned long )dev;
3839#line 492
3840 __cil_tmp12 = __cil_tmp11 + 16;
3841#line 492
3842 __cil_tmp13 = *((void **)__cil_tmp12);
3843#line 492
3844 __cil_tmp14 = (struct Private *)__cil_tmp13;
3845#line 492
3846 __cil_tmp15 = (unsigned long )__cil_tmp14;
3847#line 492
3848 __cil_tmp16 = __cil_tmp15 + 264;
3849#line 492
3850 __cil_tmp17 = *((unsigned int *)__cil_tmp16);
3851#line 492
3852 __cil_tmp18 = (unsigned long )__cil_tmp17;
3853#line 492
3854 __cil_tmp19 = (unsigned long )dev;
3855#line 492
3856 __cil_tmp20 = __cil_tmp19 + 16;
3857#line 492
3858 __cil_tmp21 = *((void **)__cil_tmp20);
3859#line 492
3860 __cil_tmp22 = (struct Private *)__cil_tmp21;
3861#line 492
3862 __cil_tmp23 = (unsigned long )__cil_tmp22;
3863#line 492
3864 __cil_tmp24 = __cil_tmp23 + 256;
3865#line 492
3866 __cil_tmp25 = *((struct BondedDevice ***)__cil_tmp24);
3867#line 492
3868 __cil_tmp26 = __cil_tmp25 + __cil_tmp18;
3869#line 492
3870 bdev = *__cil_tmp26;
3871 {
3872#line 493
3873 __cil_tmp27 = (struct BondedDevice *)0;
3874#line 493
3875 __cil_tmp28 = (unsigned long )__cil_tmp27;
3876#line 493
3877 __cil_tmp29 = (unsigned long )bdev;
3878#line 493
3879 if (__cil_tmp29 == __cil_tmp28) {
3880#line 494
3881 goto ldv_19427;
3882 } else {
3883
3884 }
3885 }
3886 {
3887#line 495
3888 __cil_tmp30 = (unsigned long )bdev;
3889#line 495
3890 __cil_tmp31 = __cil_tmp30 + 8;
3891#line 495
3892 __cil_tmp32 = *((unsigned int *)__cil_tmp31);
3893#line 495
3894 __cil_tmp33 = (int )__cil_tmp32;
3895#line 495
3896 __cil_tmp34 = 1 << __cil_tmp33;
3897#line 495
3898 __cil_tmp35 = (unsigned long )__cil_tmp34;
3899#line 495
3900 __cil_tmp36 = __cil_tmp35 & devs_closed;
3901#line 495
3902 if (__cil_tmp36 == 0UL) {
3903 {
3904#line 496
3905 __cil_tmp37 = *((struct comedi_device **)bdev);
3906#line 496
3907 comedi_close(__cil_tmp37);
3908#line 497
3909 __cil_tmp38 = (unsigned long )bdev;
3910#line 497
3911 __cil_tmp39 = __cil_tmp38 + 8;
3912#line 497
3913 __cil_tmp40 = *((unsigned int *)__cil_tmp39);
3914#line 497
3915 __cil_tmp41 = (int )__cil_tmp40;
3916#line 497
3917 __cil_tmp42 = 1 << __cil_tmp41;
3918#line 497
3919 __cil_tmp43 = (unsigned long )__cil_tmp42;
3920#line 497
3921 devs_closed = __cil_tmp43 | devs_closed;
3922 }
3923 } else {
3924
3925 }
3926 }
3927 {
3928#line 499
3929 __cil_tmp44 = (void const *)bdev;
3930#line 499
3931 kfree(__cil_tmp44);
3932 }
3933 ldv_19427:
3934#line 489
3935 __cil_tmp45 = (unsigned long )dev;
3936#line 489
3937 __cil_tmp46 = __cil_tmp45 + 16;
3938#line 489
3939 __cil_tmp47 = *((void **)__cil_tmp46);
3940#line 489
3941 __cil_tmp48 = (struct Private *)__cil_tmp47;
3942#line 489
3943 __cil_tmp49 = (unsigned long )__cil_tmp48;
3944#line 489
3945 __cil_tmp50 = __cil_tmp49 + 264;
3946#line 489
3947 tmp = *((unsigned int *)__cil_tmp50);
3948#line 489
3949 __cil_tmp51 = (unsigned long )dev;
3950#line 489
3951 __cil_tmp52 = __cil_tmp51 + 16;
3952#line 489
3953 __cil_tmp53 = *((void **)__cil_tmp52);
3954#line 489
3955 __cil_tmp54 = (struct Private *)__cil_tmp53;
3956#line 489
3957 __cil_tmp55 = (unsigned long )__cil_tmp54;
3958#line 489
3959 __cil_tmp56 = __cil_tmp55 + 264;
3960#line 489
3961 __cil_tmp57 = (unsigned long )dev;
3962#line 489
3963 __cil_tmp58 = __cil_tmp57 + 16;
3964#line 489
3965 __cil_tmp59 = *((void **)__cil_tmp58);
3966#line 489
3967 __cil_tmp60 = (struct Private *)__cil_tmp59;
3968#line 489
3969 __cil_tmp61 = (unsigned long )__cil_tmp60;
3970#line 489
3971 __cil_tmp62 = __cil_tmp61 + 264;
3972#line 489
3973 __cil_tmp63 = *((unsigned int *)__cil_tmp62);
3974#line 489
3975 *((unsigned int *)__cil_tmp56) = __cil_tmp63 - 1U;
3976#line 489
3977 if (tmp != 0U) {
3978 {
3979#line 489
3980 __cil_tmp64 = (struct BondedDevice **)0;
3981#line 489
3982 __cil_tmp65 = (unsigned long )__cil_tmp64;
3983#line 489
3984 __cil_tmp66 = (unsigned long )dev;
3985#line 489
3986 __cil_tmp67 = __cil_tmp66 + 16;
3987#line 489
3988 __cil_tmp68 = *((void **)__cil_tmp67);
3989#line 489
3990 __cil_tmp69 = (struct Private *)__cil_tmp68;
3991#line 489
3992 __cil_tmp70 = (unsigned long )__cil_tmp69;
3993#line 489
3994 __cil_tmp71 = __cil_tmp70 + 256;
3995#line 489
3996 __cil_tmp72 = *((struct BondedDevice ***)__cil_tmp71);
3997#line 489
3998 __cil_tmp73 = (unsigned long )__cil_tmp72;
3999#line 489
4000 if (__cil_tmp73 != __cil_tmp65) {
4001#line 490
4002 goto ldv_19428;
4003 } else {
4004#line 492
4005 goto ldv_19429;
4006 }
4007 }
4008 } else {
4009#line 492
4010 goto ldv_19429;
4011 }
4012 ldv_19429:
4013 {
4014#line 501
4015 __cil_tmp74 = (unsigned long )dev;
4016#line 501
4017 __cil_tmp75 = __cil_tmp74 + 16;
4018#line 501
4019 __cil_tmp76 = *((void **)__cil_tmp75);
4020#line 501
4021 __cil_tmp77 = (struct Private *)__cil_tmp76;
4022#line 501
4023 __cil_tmp78 = (unsigned long )__cil_tmp77;
4024#line 501
4025 __cil_tmp79 = __cil_tmp78 + 256;
4026#line 501
4027 __cil_tmp80 = *((struct BondedDevice ***)__cil_tmp79);
4028#line 501
4029 __cil_tmp81 = (void const *)__cil_tmp80;
4030#line 501
4031 kfree(__cil_tmp81);
4032#line 502
4033 __cil_tmp82 = (unsigned long )dev;
4034#line 502
4035 __cil_tmp83 = __cil_tmp82 + 16;
4036#line 502
4037 __cil_tmp84 = *((void **)__cil_tmp83);
4038#line 502
4039 __cil_tmp85 = (struct Private *)__cil_tmp84;
4040#line 502
4041 __cil_tmp86 = (unsigned long )__cil_tmp85;
4042#line 502
4043 __cil_tmp87 = __cil_tmp86 + 256;
4044#line 502
4045 *((struct BondedDevice ***)__cil_tmp87) = (struct BondedDevice **)0;
4046#line 503
4047 __cil_tmp88 = (unsigned long )dev;
4048#line 503
4049 __cil_tmp89 = __cil_tmp88 + 16;
4050#line 503
4051 __cil_tmp90 = *((void **)__cil_tmp89);
4052#line 503
4053 __cil_tmp91 = (void const *)__cil_tmp90;
4054#line 503
4055 kfree(__cil_tmp91);
4056#line 504
4057 __cil_tmp92 = (unsigned long )dev;
4058#line 504
4059 __cil_tmp93 = __cil_tmp92 + 16;
4060#line 504
4061 *((void **)__cil_tmp93) = (void *)0;
4062 }
4063 } else {
4064
4065 }
4066 }
4067#line 506
4068 return;
4069}
4070}
4071#line 508 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4072static int init(void)
4073{ int tmp ;
4074
4075 {
4076 {
4077#line 510
4078 tmp = comedi_driver_register(& driver_bonding);
4079 }
4080#line 510
4081 return (tmp);
4082}
4083}
4084#line 513 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4085static void cleanup(void)
4086{
4087
4088 {
4089 {
4090#line 515
4091 comedi_driver_unregister(& driver_bonding);
4092 }
4093#line 516
4094 return;
4095}
4096}
4097#line 537
4098extern void ldv_check_final_state(void) ;
4099#line 543
4100extern void ldv_initialize(void) ;
4101#line 546
4102extern int __VERIFIER_nondet_int(void) ;
4103#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4104int LDV_IN_INTERRUPT ;
4105#line 552 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4106void main(void)
4107{ struct comedi_device *var_group1 ;
4108 struct comedi_devconfig *var_group2 ;
4109 int tmp ;
4110 int tmp___0 ;
4111 int tmp___1 ;
4112
4113 {
4114 {
4115#line 616
4116 LDV_IN_INTERRUPT = 1;
4117#line 625
4118 ldv_initialize();
4119#line 650
4120 tmp = init();
4121 }
4122#line 650
4123 if (tmp != 0) {
4124#line 651
4125 goto ldv_final;
4126 } else {
4127
4128 }
4129#line 655
4130 goto ldv_19466;
4131 ldv_19465:
4132 {
4133#line 658
4134 tmp___0 = __VERIFIER_nondet_int();
4135 }
4136#line 660
4137 if (tmp___0 == 0) {
4138#line 660
4139 goto case_0;
4140 } else
4141#line 697
4142 if (tmp___0 == 1) {
4143#line 697
4144 goto case_1;
4145 } else {
4146 {
4147#line 734
4148 goto switch_default;
4149#line 658
4150 if (0) {
4151 case_0:
4152 {
4153#line 686
4154 bonding_attach(var_group1, var_group2);
4155 }
4156#line 696
4157 goto ldv_19462;
4158 case_1:
4159 {
4160#line 723
4161 bonding_detach(var_group1);
4162 }
4163#line 733
4164 goto ldv_19462;
4165 switch_default: ;
4166#line 734
4167 goto ldv_19462;
4168 } else {
4169 switch_break: ;
4170 }
4171 }
4172 }
4173 ldv_19462: ;
4174 ldv_19466:
4175 {
4176#line 655
4177 tmp___1 = __VERIFIER_nondet_int();
4178 }
4179#line 655
4180 if (tmp___1 != 0) {
4181#line 656
4182 goto ldv_19465;
4183 } else {
4184#line 658
4185 goto ldv_19467;
4186 }
4187 ldv_19467: ;
4188 {
4189#line 765
4190 cleanup();
4191 }
4192 ldv_final:
4193 {
4194#line 768
4195 ldv_check_final_state();
4196 }
4197#line 771
4198 return;
4199}
4200}
4201#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4202void ldv_blast_assert(void)
4203{
4204
4205 {
4206 ERROR: ;
4207#line 6
4208 goto ERROR;
4209}
4210}
4211#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4212extern int __VERIFIER_nondet_int(void) ;
4213#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4214int ldv_spin = 0;
4215#line 796 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4216void ldv_check_alloc_flags(gfp_t flags )
4217{
4218
4219 {
4220#line 799
4221 if (ldv_spin != 0) {
4222#line 799
4223 if (flags != 32U) {
4224 {
4225#line 799
4226 ldv_blast_assert();
4227 }
4228 } else {
4229
4230 }
4231 } else {
4232
4233 }
4234#line 802
4235 return;
4236}
4237}
4238#line 802
4239extern struct page *ldv_some_page(void) ;
4240#line 805 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4241struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
4242{ struct page *tmp ;
4243
4244 {
4245#line 808
4246 if (ldv_spin != 0) {
4247#line 808
4248 if (flags != 32U) {
4249 {
4250#line 808
4251 ldv_blast_assert();
4252 }
4253 } else {
4254
4255 }
4256 } else {
4257
4258 }
4259 {
4260#line 810
4261 tmp = ldv_some_page();
4262 }
4263#line 810
4264 return (tmp);
4265}
4266}
4267#line 814 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4268void ldv_check_alloc_nonatomic(void)
4269{
4270
4271 {
4272#line 817
4273 if (ldv_spin != 0) {
4274 {
4275#line 817
4276 ldv_blast_assert();
4277 }
4278 } else {
4279
4280 }
4281#line 820
4282 return;
4283}
4284}
4285#line 821 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4286void ldv_spin_lock(void)
4287{
4288
4289 {
4290#line 824
4291 ldv_spin = 1;
4292#line 825
4293 return;
4294}
4295}
4296#line 828 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4297void ldv_spin_unlock(void)
4298{
4299
4300 {
4301#line 831
4302 ldv_spin = 0;
4303#line 832
4304 return;
4305}
4306}
4307#line 835 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4308int ldv_spin_trylock(void)
4309{ int is_lock ;
4310
4311 {
4312 {
4313#line 840
4314 is_lock = __VERIFIER_nondet_int();
4315 }
4316#line 842
4317 if (is_lock != 0) {
4318#line 845
4319 return (0);
4320 } else {
4321#line 850
4322 ldv_spin = 1;
4323#line 852
4324 return (1);
4325 }
4326}
4327}
4328#line 974 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4329__inline static void *kmalloc(size_t size , gfp_t flags )
4330{
4331
4332 {
4333 {
4334#line 980
4335 ldv_check_alloc_flags(flags);
4336#line 982
4337 ldv_kmalloc_12(size, flags);
4338 }
4339#line 983
4340 return ((void *)0);
4341}
4342}
4343#line 997 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4344__inline static void *kcalloc(size_t n , size_t size , gfp_t flags )
4345{
4346
4347 {
4348 {
4349#line 1004
4350 ldv_check_alloc_flags(flags);
4351#line 1006
4352 ldv_kcalloc_14(n, size, flags);
4353 }
4354#line 1007
4355 return ((void *)0);
4356}
4357}
4358#line 1019 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4359void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
4360{
4361
4362 {
4363 {
4364#line 1025
4365 ldv_check_alloc_flags(ldv_func_arg2);
4366#line 1027
4367 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4368 }
4369#line 1028
4370 return ((void *)0);
4371}
4372}
4373#line 1030 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5918/dscv_tempdir/dscv/ri/43_1a/drivers/staging/comedi/drivers/comedi_bond.c.p"
4374__inline static void *kzalloc(size_t size , gfp_t flags )
4375{ void *tmp ;
4376
4377 {
4378 {
4379#line 1036
4380 ldv_check_alloc_flags(flags);
4381#line 1037
4382 tmp = __VERIFIER_nondet_pointer();
4383 }
4384#line 1037
4385 return (tmp);
4386}
4387}