// Skip function: __VERIFIER_error // Skip function: __VERIFIER_nondet_int // Skip function: __VERIFIER_nondet_ulong // Function: __dma_request_channel // with type: struct dma_chan *__dma_request_channel(const dma_cap_mask_t *, bool (*)(struct dma_chan *, void *), void *) // with return type: (struct dma_chan)* struct dma_chan *__dma_request_channel(const dma_cap_mask_t *arg0, bool (*arg1)(struct dma_chan *, void *), void *arg2) { // Pointer type return ldv_malloc(sizeof(struct dma_chan)); } // Function: __dynamic_netdev_dbg // with type: int __dynamic_netdev_dbg(struct _ddebug *, const struct net_device *, const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int __dynamic_netdev_dbg(struct _ddebug *arg0, const struct net_device *arg1, const char *arg2, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: __init_work // with type: void __init_work(struct work_struct *, int) // with return type: void void __init_work(struct work_struct *arg0, int arg1) { // Void type return; } // Function: __netdev_alloc_skb // with type: struct sk_buff *__netdev_alloc_skb(struct net_device *, unsigned int, gfp_t ) // with return type: (struct sk_buff)* struct sk_buff *__netdev_alloc_skb(struct net_device *arg0, unsigned int arg1, gfp_t arg2) { // Pointer type struct sk_buff *skb = ldv_malloc(sizeof(struct sk_buff)); if(skb) { skb->dev = arg0; skb->head = ldv_malloc(arg1); skb->data = skb->head; skb->tail = 0; } return skb; } // Function: __netif_schedule // with type: void __netif_schedule(struct Qdisc *) // with return type: void void __netif_schedule(struct Qdisc *arg0) { // Void type return; } // Function: __phys_addr // with type: unsigned long int __phys_addr(unsigned long) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int __phys_addr(unsigned long arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: __platform_driver_register // with type: int __platform_driver_register(struct platform_driver *, struct module *) // with return type: int int __VERIFIER_nondet_int(void); int __platform_driver_register(struct platform_driver *arg0, struct module *arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: __raw_spin_lock_init // with type: void __raw_spin_lock_init(raw_spinlock_t *, const char *, struct lock_class_key *) // with return type: void void __raw_spin_lock_init(raw_spinlock_t *arg0, const char *arg1, struct lock_class_key *arg2) { // Void type return; } // Function: __release_region // with type: void __release_region(struct resource *, resource_size_t , resource_size_t ) // with return type: void void __release_region(struct resource *arg0, resource_size_t arg1, resource_size_t arg2) { // Void type return; } // Function: __request_region // with type: struct resource *__request_region(struct resource *, resource_size_t , resource_size_t , const char *, int) // with return type: (struct resource)* struct resource *__request_region(struct resource *arg0, resource_size_t arg1, resource_size_t arg2, const char *arg3, int arg4) { // Pointer type return ldv_malloc(sizeof(struct resource)); } // Function: __tasklet_schedule // with type: void __tasklet_schedule(struct tasklet_struct *) // with return type: void void __tasklet_schedule(struct tasklet_struct *arg0) { // Void type return; } // Function: _raw_spin_lock_irqsave // with type: unsigned long int _raw_spin_lock_irqsave(raw_spinlock_t *) // with return type: unsigned long int unsigned long __VERIFIER_nondet_ulong(void); unsigned long int _raw_spin_lock_irqsave(raw_spinlock_t *arg0) { // Simple type return __VERIFIER_nondet_ulong(); } // Function: _raw_spin_unlock_irqrestore // with type: void _raw_spin_unlock_irqrestore(raw_spinlock_t *, unsigned long) // with return type: void void _raw_spin_unlock_irqrestore(raw_spinlock_t *arg0, unsigned long arg1) { // Void type return; } // Function: alloc_etherdev_mqs // with type: struct net_device *alloc_etherdev_mqs(int, unsigned int, unsigned int) // with return type: (struct net_device)* struct net_device *alloc_etherdev_mqs(int arg0, unsigned int arg1, unsigned int arg2) { // Pointer type return ldv_malloc(sizeof(struct net_device)); } // Skip function: calloc // Function: cancel_work_sync // with type: bool cancel_work_sync(struct work_struct *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool cancel_work_sync(struct work_struct *arg0) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: debug_dma_map_page // with type: void debug_dma_map_page(struct device *, struct page *, size_t , size_t , int, dma_addr_t , bool ) // with return type: void void debug_dma_map_page(struct device *arg0, struct page *arg1, size_t arg2, size_t arg3, int arg4, dma_addr_t arg5, bool arg6) { // Void type return; } // Function: debug_dma_mapping_error // with type: void debug_dma_mapping_error(struct device *, dma_addr_t ) // with return type: void void debug_dma_mapping_error(struct device *arg0, dma_addr_t arg1) { // Void type return; } // Function: debug_dma_sync_single_range_for_device // with type: void debug_dma_sync_single_range_for_device(struct device *, dma_addr_t , unsigned long, size_t , int) // with return type: void void debug_dma_sync_single_range_for_device(struct device *arg0, dma_addr_t arg1, unsigned long arg2, size_t arg3, int arg4) { // Void type return; } // Function: debug_dma_unmap_page // with type: void debug_dma_unmap_page(struct device *, dma_addr_t , size_t , int, bool ) // with return type: void void debug_dma_unmap_page(struct device *arg0, dma_addr_t arg1, size_t arg2, int arg3, bool arg4) { // Void type return; } // Function: dma_release_channel // with type: void dma_release_channel(struct dma_chan *) // with return type: void void dma_release_channel(struct dma_chan *arg0) { // Void type return; } // Function: eth_type_trans // with type: __be16 eth_type_trans(struct sk_buff *, struct net_device *) // with return type: __be16 unsigned short __VERIFIER_nondet_ushort(void); __be16 eth_type_trans(struct sk_buff *arg0, struct net_device *arg1) { // Typedef type // Real type: __u16 // Typedef type // Real type: unsigned short // Simple type return __VERIFIER_nondet_ushort(); } // Function: eth_validate_addr // with type: int eth_validate_addr(struct net_device *) // with return type: int int __VERIFIER_nondet_int(void); int eth_validate_addr(struct net_device *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: ethtool_op_get_link // with type: u32 ethtool_op_get_link(struct net_device *) // with return type: u32 unsigned int __VERIFIER_nondet_uint(void); u32 ethtool_op_get_link(struct net_device *arg0) { // Typedef type // Real type: unsigned int // Simple type return __VERIFIER_nondet_uint(); } // Function: free_irq // with type: void free_irq(unsigned int, void *) // with return type: void void free_irq(unsigned int arg0, void *arg1) { // Void type return; } // Function: free_netdev // with type: void free_netdev(struct net_device *) // with return type: void void free_netdev(struct net_device *arg0) { // Void type return; } // Function: get_random_bytes // with type: void get_random_bytes(void *, int) // with return type: void void get_random_bytes(void *arg0, int arg1) { // Void type return; } // Function: ioread16 // with type: unsigned int ioread16(void *) // with return type: unsigned int unsigned int __VERIFIER_nondet_uint(void); unsigned int ioread16(void *arg0) { // Simple type return __VERIFIER_nondet_uint(); } // Function: ioread32 // with type: unsigned int ioread32(void *) // with return type: unsigned int unsigned int __VERIFIER_nondet_uint(void); unsigned int ioread32(void *arg0) { // Simple type return __VERIFIER_nondet_uint(); } // Function: ioread8 // with type: unsigned int ioread8(void *) // with return type: unsigned int unsigned int __VERIFIER_nondet_uint(void); unsigned int ioread8(void *arg0) { // Simple type return __VERIFIER_nondet_uint(); } // Function: ioremap_nocache // with type: void *ioremap_nocache(resource_size_t , unsigned long) // with return type: (void)* void *ioremap_nocache(resource_size_t arg0, unsigned long arg1) { // Pointer type return ldv_malloc(0UL); } // Function: iounmap // with type: void iounmap(volatile void *) // with return type: void void iounmap(volatile void *arg0) { // Void type return; } // Function: iowrite16 // with type: void iowrite16(u16 , void *) // with return type: void void iowrite16(u16 arg0, void *arg1) { // Void type return; } // Function: iowrite32 // with type: void iowrite32(u32 , void *) // with return type: void void iowrite32(u32 arg0, void *arg1) { // Void type return; } // Function: iowrite8 // with type: void iowrite8(u8 , void *) // with return type: void void iowrite8(u8 arg0, void *arg1) { // Void type return; } // Skip function: kfree // Function: ldv_ndo_init_4 // with type: int ldv_ndo_init_4() // with return type: int int __VERIFIER_nondet_int(void); int ldv_ndo_init_4() { // Simple type return __VERIFIER_nondet_int(); } // Function: ldv_ndo_uninit_4 // with type: int ldv_ndo_uninit_4() // with return type: int int __VERIFIER_nondet_int(void); int ldv_ndo_uninit_4() { // Simple type return __VERIFIER_nondet_int(); } // Function: lockdep_init_map // with type: void lockdep_init_map(struct lockdep_map *, const char *, struct lock_class_key *, int) // with return type: void void lockdep_init_map(struct lockdep_map *arg0, const char *arg1, struct lock_class_key *arg2, int arg3) { // Void type return; } // Skip function: malloc // Skip function: memset // Function: msleep // with type: void msleep(unsigned int) // with return type: void void msleep(unsigned int arg0) { // Void type return; } // Function: netif_carrier_off // with type: void netif_carrier_off(struct net_device *) // with return type: void void netif_carrier_off(struct net_device *arg0) { // Void type return; } // Function: netif_carrier_on // with type: void netif_carrier_on(struct net_device *) // with return type: void void netif_carrier_on(struct net_device *arg0) { // Void type return; } // Function: platform_driver_unregister // with type: void platform_driver_unregister(struct platform_driver *) // with return type: void void platform_driver_unregister(struct platform_driver *arg0) { // Void type return; } // Function: platform_get_irq // with type: int platform_get_irq(struct platform_device *, unsigned int) // with return type: int int __VERIFIER_nondet_int(void); int platform_get_irq(struct platform_device *arg0, unsigned int arg1) { // Simple type return __VERIFIER_nondet_int(); } // Function: platform_get_resource // with type: struct resource *platform_get_resource(struct platform_device *, unsigned int, unsigned int) // with return type: (struct resource)* struct resource *platform_get_resource(struct platform_device *arg0, unsigned int arg1, unsigned int arg2) { // Pointer type return ldv_malloc(sizeof(struct resource)); } // Function: printk // with type: int printk(const char *, ...) // with return type: int int __VERIFIER_nondet_int(void); int printk(const char *arg0, ...) { // Simple type return __VERIFIER_nondet_int(); } // Function: queue_work_on // with type: bool queue_work_on(int, struct workqueue_struct *, struct work_struct *) // with return type: bool bool __VERIFIER_nondet_bool(void); bool queue_work_on(int arg0, struct workqueue_struct *arg1, struct work_struct *arg2) { // Typedef type // Real type: _Bool // Simple type return __VERIFIER_nondet_bool(); } // Function: register_netdev // with type: int register_netdev(struct net_device *) // with return type: int int __VERIFIER_nondet_int(void); int register_netdev(struct net_device *arg0) { // Simple type return __VERIFIER_nondet_int(); } // Function: request_threaded_irq // with type: int request_threaded_irq(unsigned int, irqreturn_t (*)(int, void *), irqreturn_t (*)(int, void *), unsigned long, const char *, void *) // with return type: int int __VERIFIER_nondet_int(void); int request_threaded_irq(unsigned int arg0, irqreturn_t (*arg1)(int, void *), irqreturn_t (*arg2)(int, void *), unsigned long arg3, const char *arg4, void *arg5) { // Simple type return __VERIFIER_nondet_int(); } // Function: sg_init_table // with type: void sg_init_table(struct scatterlist *, unsigned int) // with return type: void void sg_init_table(struct scatterlist *arg0, unsigned int arg1) { // Void type return; } // Function: skb_put // with type: unsigned char *skb_put(struct sk_buff *, unsigned int) // with return type: (unsigned char)* unsigned char *skb_put(struct sk_buff *arg0, unsigned int arg1) { unsigned char *ret_val = arg0->data + arg0->tail; // a more precise implementation of skb_put would actually re-allocate memory // here arg0->tail += arg1; // Pointer type return ret_val; } // Skip function: strcpy // Function: tasklet_init // with type: void tasklet_init(struct tasklet_struct *, void (*)(unsigned long), unsigned long) // with return type: void void tasklet_init(struct tasklet_struct *arg0, void (*arg1)(unsigned long), unsigned long arg2) { // Void type return; } // Function: tasklet_kill // with type: void tasklet_kill(struct tasklet_struct *) // with return type: void void tasklet_kill(struct tasklet_struct *arg0) { // Void type return; } // Function: unregister_netdev // with type: void unregister_netdev(struct net_device *) // with return type: void void unregister_netdev(struct net_device *arg0) { // Void type return; } // Function: warn_slowpath_null // with type: void warn_slowpath_null(const char *, const int) // with return type: void void warn_slowpath_null(const char *arg0, const int arg1) { // Void type return; }