Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data C'pci_methods = C'pci_methods
- data C'id_entry = C'id_entry
- data C'id_bucket = C'id_bucket
- data C'udev = C'udev
- data C'udev_hwdb = C'udev_hwdb
- data C'pci_property = C'pci_property
- type C'pci_access_type = CUInt
- c'PCI_ACCESS_AUTO :: Num a => a
- c'PCI_ACCESS_SYS_BUS_PCI :: Num a => a
- c'PCI_ACCESS_PROC_BUS_PCI :: Num a => a
- c'PCI_ACCESS_I386_TYPE1 :: Num a => a
- c'PCI_ACCESS_I386_TYPE2 :: Num a => a
- c'PCI_ACCESS_FBSD_DEVICE :: Num a => a
- c'PCI_ACCESS_AIX_DEVICE :: Num a => a
- c'PCI_ACCESS_NBSD_LIBPCI :: Num a => a
- c'PCI_ACCESS_OBSD_DEVICE :: Num a => a
- c'PCI_ACCESS_DUMP :: Num a => a
- c'PCI_ACCESS_DARWIN :: Num a => a
- c'PCI_ACCESS_MAX :: Num a => a
- data C'pci_access = C'pci_access {
- c'pci_access'method :: CUInt
- c'pci_access'writeable :: CInt
- c'pci_access'buscentric :: CInt
- c'pci_access'id_file_name :: CString
- c'pci_access'free_id_name :: CInt
- c'pci_access'numeric_ids :: CInt
- c'pci_access'id_lookup_mode :: CUInt
- c'pci_access'debugging :: CInt
- c'pci_access'error :: FunPtr (CString -> IO ())
- c'pci_access'warning :: FunPtr (CString -> IO ())
- c'pci_access'debug :: FunPtr (CString -> IO ())
- c'pci_access'devices :: Ptr C'pci_dev
- c'pci_access'methods :: Ptr C'pci_methods
- c'pci_access'params :: Ptr C'pci_param
- c'pci_access'id_hash :: Ptr (Ptr C'id_entry)
- c'pci_access'current_id_bucket :: Ptr C'id_bucket
- c'pci_access'id_load_failed :: CInt
- c'pci_access'id_cache_status :: CInt
- c'pci_access'id_udev :: Ptr C'udev
- c'pci_access'id_udev_hwdb :: Ptr C'udev_hwdb
- c'pci_access'fd :: CInt
- c'pci_access'fd_rw :: CInt
- c'pci_access'fd_pos :: CInt
- c'pci_access'fd_vpd :: CInt
- c'pci_access'cached_dev :: Ptr C'pci_dev
- c'pci_alloc :: IO (Ptr C'pci_access)
- c'pci_init :: Ptr C'pci_access -> IO ()
- c'pci_cleanup :: Ptr C'pci_access -> IO ()
- p'pci_alloc :: FunPtr (IO (Ptr C'pci_access))
- p'pci_init :: FunPtr (Ptr C'pci_access -> IO ())
- p'pci_cleanup :: FunPtr (Ptr C'pci_access -> IO ())
- c'pci_scan_bus :: Ptr C'pci_access -> IO ()
- p'pci_scan_bus :: FunPtr (Ptr C'pci_access -> IO ())
- c'pci_get_dev :: Ptr C'pci_access -> CInt -> CInt -> CInt -> CInt -> IO (Ptr C'pci_dev)
- c'pci_free_dev :: Ptr C'pci_dev -> IO ()
- p'pci_get_dev :: FunPtr (Ptr C'pci_access -> CInt -> CInt -> CInt -> CInt -> IO (Ptr C'pci_dev))
- p'pci_free_dev :: FunPtr (Ptr C'pci_dev -> IO ())
- c'pci_lookup_method :: CString -> IO CInt
- p'pci_lookup_method :: FunPtr (CString -> IO CInt)
- c'pci_get_method_name :: CInt -> IO CString
- p'pci_get_method_name :: FunPtr (CInt -> IO CString)
- p'pci_access'method :: Ptr C'pci_access -> Ptr CUInt
- p'pci_access'writeable :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'buscentric :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'id_file_name :: Ptr C'pci_access -> Ptr CString
- p'pci_access'free_id_name :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'numeric_ids :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'id_lookup_mode :: Ptr C'pci_access -> Ptr CUInt
- p'pci_access'debugging :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'error :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ()))
- data C'pci_param = C'pci_param {}
- p'pci_access'warning :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ()))
- c'pci_get_param :: Ptr C'pci_access -> CString -> IO CString
- p'pci_access'debug :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ()))
- p'pci_get_param :: FunPtr (Ptr C'pci_access -> CString -> IO CString)
- p'pci_access'devices :: Ptr C'pci_access -> Ptr (Ptr C'pci_dev)
- c'pci_set_param :: Ptr C'pci_access -> CString -> CString -> IO CInt
- p'pci_access'methods :: Ptr C'pci_access -> Ptr (Ptr C'pci_methods)
- p'pci_set_param :: FunPtr (Ptr C'pci_access -> CString -> CString -> IO CInt)
- p'pci_param'next :: Ptr C'pci_param -> Ptr (Ptr C'pci_param)
- c'pci_walk_params :: Ptr C'pci_access -> Ptr C'pci_param -> IO (Ptr C'pci_param)
- p'pci_access'params :: Ptr C'pci_access -> Ptr (Ptr C'pci_param)
- p'pci_param'param :: Ptr C'pci_param -> Ptr CString
- p'pci_walk_params :: FunPtr (Ptr C'pci_access -> Ptr C'pci_param -> IO (Ptr C'pci_param))
- p'pci_access'id_hash :: Ptr C'pci_access -> Ptr (Ptr (Ptr C'id_entry))
- p'pci_param'value :: Ptr C'pci_param -> Ptr CString
- p'pci_access'current_id_bucket :: Ptr C'pci_access -> Ptr (Ptr C'id_bucket)
- p'pci_param'value_malloced :: Ptr C'pci_param -> Ptr CInt
- p'pci_access'id_load_failed :: Ptr C'pci_access -> Ptr CInt
- p'pci_param'help :: Ptr C'pci_param -> Ptr CString
- p'pci_access'id_cache_status :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'id_udev :: Ptr C'pci_access -> Ptr (Ptr C'udev)
- p'pci_access'id_udev_hwdb :: Ptr C'pci_access -> Ptr (Ptr C'udev_hwdb)
- p'pci_access'fd :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'fd_rw :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'fd_pos :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'fd_vpd :: Ptr C'pci_access -> Ptr CInt
- p'pci_access'cached_dev :: Ptr C'pci_access -> Ptr (Ptr C'pci_dev)
- data C'pci_dev = C'pci_dev {
- c'pci_dev'next :: Ptr C'pci_dev
- c'pci_dev'domain_16 :: CUShort
- c'pci_dev'bus :: CUChar
- c'pci_dev'dev :: CUChar
- c'pci_dev'func :: CUChar
- c'pci_dev'known_fields :: CInt
- c'pci_dev'vendor_id :: CUShort
- c'pci_dev'device_id :: CUShort
- c'pci_dev'device_class :: CUShort
- c'pci_dev'irq :: CInt
- c'pci_dev'base_addr :: [CULong]
- c'pci_dev'size :: [CULong]
- c'pci_dev'rom_base_addr :: CULong
- c'pci_dev'rom_size :: CULong
- c'pci_dev'first_cap :: Ptr C'pci_cap
- c'pci_dev'phy_slot :: CString
- c'pci_dev'module_alias :: CString
- c'pci_dev'label :: CString
- c'pci_dev'numa_node :: CInt
- c'pci_dev'flags :: [CULong]
- c'pci_dev'rom_flags :: CULong
- c'pci_dev'domain :: CInt
- c'pci_dev'access :: Ptr C'pci_access
- c'pci_dev'methods :: Ptr C'pci_methods
- c'pci_dev'cache :: Ptr CUChar
- c'pci_dev'cache_len :: CInt
- c'pci_dev'hdrtype :: CInt
- c'pci_dev'aux :: Ptr ()
- c'pci_read_byte :: Ptr C'pci_dev -> CInt -> IO CUChar
- c'pci_read_word :: Ptr C'pci_dev -> CInt -> IO CUShort
- c'pci_read_long :: Ptr C'pci_dev -> CInt -> IO CUInt
- p'pci_read_byte :: FunPtr (Ptr C'pci_dev -> CInt -> IO CUChar)
- p'pci_read_word :: FunPtr (Ptr C'pci_dev -> CInt -> IO CUShort)
- c'pci_read_block :: Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt
- p'pci_read_long :: FunPtr (Ptr C'pci_dev -> CInt -> IO CUInt)
- c'pci_read_vpd :: Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt
- c'pci_write_byte :: Ptr C'pci_dev -> CInt -> CUChar -> IO CInt
- p'pci_read_block :: FunPtr (Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt)
- c'pci_write_word :: Ptr C'pci_dev -> CInt -> CUShort -> IO CInt
- p'pci_read_vpd :: FunPtr (Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt)
- c'pci_write_long :: Ptr C'pci_dev -> CInt -> CUInt -> IO CInt
- p'pci_write_byte :: FunPtr (Ptr C'pci_dev -> CInt -> CUChar -> IO CInt)
- p'pci_write_word :: FunPtr (Ptr C'pci_dev -> CInt -> CUShort -> IO CInt)
- c'pci_write_block :: Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt
- p'pci_write_long :: FunPtr (Ptr C'pci_dev -> CInt -> CUInt -> IO CInt)
- p'pci_write_block :: FunPtr (Ptr C'pci_dev -> CInt -> Ptr CUChar -> CInt -> IO CInt)
- c'pci_fill_info :: Ptr C'pci_dev -> CInt -> IO CInt
- p'pci_dev'next :: Ptr C'pci_dev -> Ptr (Ptr C'pci_dev)
- p'pci_fill_info :: FunPtr (Ptr C'pci_dev -> CInt -> IO CInt)
- p'pci_dev'domain_16 :: Ptr C'pci_dev -> Ptr CUShort
- p'pci_dev'bus :: Ptr C'pci_dev -> Ptr CUChar
- c'PCI_FILL_IDENT :: Num a => a
- c'PCI_FILL_IRQ :: Num a => a
- p'pci_dev'dev :: Ptr C'pci_dev -> Ptr CUChar
- c'PCI_FILL_BASES :: Num a => a
- c'PCI_FILL_ROM_BASE :: Num a => a
- p'pci_dev'func :: Ptr C'pci_dev -> Ptr CUChar
- c'PCI_FILL_SIZES :: Num a => a
- c'PCI_FILL_CLASS :: Num a => a
- p'pci_dev'known_fields :: Ptr C'pci_dev -> Ptr CInt
- c'PCI_FILL_CAPS :: Num a => a
- c'PCI_FILL_EXT_CAPS :: Num a => a
- p'pci_dev'vendor_id :: Ptr C'pci_dev -> Ptr CUShort
- c'PCI_FILL_PHYS_SLOT :: Num a => a
- c'PCI_FILL_MODULE_ALIAS :: Num a => a
- p'pci_dev'device_id :: Ptr C'pci_dev -> Ptr CUShort
- c'PCI_FILL_LABEL :: Num a => a
- c'PCI_FILL_NUMA_NODE :: Num a => a
- p'pci_dev'device_class :: Ptr C'pci_dev -> Ptr CUShort
- c'PCI_FILL_IO_FLAGS :: Num a => a
- p'pci_dev'irq :: Ptr C'pci_dev -> Ptr CInt
- p'pci_dev'base_addr :: Ptr C'pci_dev -> Ptr CULong
- p'pci_dev'size :: Ptr C'pci_dev -> Ptr CULong
- p'pci_dev'rom_base_addr :: Ptr C'pci_dev -> Ptr CULong
- p'pci_dev'rom_size :: Ptr C'pci_dev -> Ptr CULong
- c'PCI_FILL_RESCAN :: Num a => a
- p'pci_dev'first_cap :: Ptr C'pci_dev -> Ptr (Ptr C'pci_cap)
- c'pci_setup_cache :: Ptr C'pci_dev -> Ptr CUChar -> CInt -> IO ()
- p'pci_dev'phy_slot :: Ptr C'pci_dev -> Ptr CString
- p'pci_setup_cache :: FunPtr (Ptr C'pci_dev -> Ptr CUChar -> CInt -> IO ())
- p'pci_dev'module_alias :: Ptr C'pci_dev -> Ptr CString
- p'pci_dev'label :: Ptr C'pci_dev -> Ptr CString
- p'pci_dev'numa_node :: Ptr C'pci_dev -> Ptr CInt
- p'pci_dev'flags :: Ptr C'pci_dev -> Ptr CULong
- p'pci_dev'rom_flags :: Ptr C'pci_dev -> Ptr CULong
- p'pci_dev'domain :: Ptr C'pci_dev -> Ptr CInt
- p'pci_dev'access :: Ptr C'pci_dev -> Ptr (Ptr C'pci_access)
- data C'pci_cap = C'pci_cap {}
- p'pci_dev'methods :: Ptr C'pci_dev -> Ptr (Ptr C'pci_methods)
- p'pci_dev'cache :: Ptr C'pci_dev -> Ptr (Ptr CUChar)
- c'PCI_CAP_NORMAL :: Num a => a
- p'pci_dev'cache_len :: Ptr C'pci_dev -> Ptr CInt
- c'PCI_CAP_EXTENDED :: Num a => a
- p'pci_dev'hdrtype :: Ptr C'pci_dev -> Ptr CInt
- p'pci_cap'next :: Ptr C'pci_cap -> Ptr (Ptr C'pci_cap)
- c'pci_find_cap :: Ptr C'pci_dev -> CUInt -> CUInt -> IO (Ptr C'pci_cap)
- p'pci_cap'id :: Ptr C'pci_cap -> Ptr CUShort
- p'pci_dev'aux :: Ptr C'pci_dev -> Ptr (Ptr ())
- p'pci_find_cap :: FunPtr (Ptr C'pci_dev -> CUInt -> CUInt -> IO (Ptr C'pci_cap))
- p'pci_cap'type :: Ptr C'pci_cap -> Ptr CUShort
- p'pci_cap'addr :: Ptr C'pci_cap -> Ptr CUInt
- data C'pci_filter = C'pci_filter {}
- c'pci_filter_init :: Ptr C'pci_access -> Ptr C'pci_filter -> IO ()
- c'pci_filter_parse_slot :: Ptr C'pci_filter -> CString -> IO CString
- c'pci_filter_parse_id :: Ptr C'pci_filter -> CString -> IO CString
- p'pci_filter_init :: FunPtr (Ptr C'pci_access -> Ptr C'pci_filter -> IO ())
- c'pci_filter_match :: Ptr C'pci_filter -> Ptr C'pci_dev -> IO CInt
- p'pci_filter_parse_slot :: FunPtr (Ptr C'pci_filter -> CString -> IO CString)
- p'pci_filter_parse_id :: FunPtr (Ptr C'pci_filter -> CString -> IO CString)
- p'pci_filter_match :: FunPtr (Ptr C'pci_filter -> Ptr C'pci_dev -> IO CInt)
- p'pci_filter'domain :: Ptr C'pci_filter -> Ptr CInt
- p'pci_filter'bus :: Ptr C'pci_filter -> Ptr CInt
- p'pci_filter'slot :: Ptr C'pci_filter -> Ptr CInt
- p'pci_filter'func :: Ptr C'pci_filter -> Ptr CInt
- c'pci_lookup_name :: Ptr C'pci_access -> CString -> CInt -> CUInt -> CInt -> CInt -> CInt -> CInt -> IO CString
- p'pci_filter'vendor :: Ptr C'pci_filter -> Ptr CInt
- p'pci_lookup_name :: FunPtr (Ptr C'pci_access -> CString -> CInt -> CUInt -> CInt -> CInt -> CInt -> CInt -> IO CString)
- c'pci_load_name_list :: Ptr C'pci_access -> IO CInt
- p'pci_filter'device :: Ptr C'pci_filter -> Ptr CInt
- p'pci_load_name_list :: FunPtr (Ptr C'pci_access -> IO CInt)
- p'pci_filter'device_class :: Ptr C'pci_filter -> Ptr CInt
- c'pci_free_name_list :: Ptr C'pci_access -> IO ()
- c'pci_set_name_list_path :: Ptr C'pci_access -> CString -> CInt -> IO ()
- p'pci_filter'rfu :: Ptr C'pci_filter -> Ptr CInt
- c'pci_id_cache_flush :: Ptr C'pci_access -> IO ()
- p'pci_free_name_list :: FunPtr (Ptr C'pci_access -> IO ())
- p'pci_set_name_list_path :: FunPtr (Ptr C'pci_access -> CString -> CInt -> IO ())
- p'pci_id_cache_flush :: FunPtr (Ptr C'pci_access -> IO ())
- type C'pci_lookup_mode = CUInt
- c'PCI_LOOKUP_VENDOR :: Num a => a
- c'PCI_LOOKUP_DEVICE :: Num a => a
- c'PCI_LOOKUP_CLASS :: Num a => a
- c'PCI_LOOKUP_SUBSYSTEM :: Num a => a
- c'PCI_LOOKUP_PROGIF :: Num a => a
- c'PCI_LOOKUP_NUMERIC :: Num a => a
- c'PCI_LOOKUP_NO_NUMBERS :: Num a => a
- c'PCI_LOOKUP_MIXED :: Num a => a
- c'PCI_LOOKUP_NETWORK :: Num a => a
- c'PCI_LOOKUP_SKIP_LOCAL :: Num a => a
- c'PCI_LOOKUP_CACHE :: Num a => a
- c'PCI_LOOKUP_REFRESH_CACHE :: Num a => a
- c'PCI_LOOKUP_NO_HWDB :: Num a => a
Documentation
data C'id_entry Source #
type C'pci_access_type = CUInt Source #
c'PCI_ACCESS_AUTO :: Num a => a Source #
Autodetection
c'PCI_ACCESS_SYS_BUS_PCI :: Num a => a Source #
Linux sysbus/pci
c'PCI_ACCESS_PROC_BUS_PCI :: Num a => a Source #
Linux procbus/pci
c'PCI_ACCESS_I386_TYPE1 :: Num a => a Source #
i386 ports, type 1
c'PCI_ACCESS_I386_TYPE2 :: Num a => a Source #
i386 ports, type 2
c'PCI_ACCESS_FBSD_DEVICE :: Num a => a Source #
FreeBSD devpci
c'PCI_ACCESS_AIX_DEVICE :: Num a => a Source #
devpci0, devbus0, etc.
c'PCI_ACCESS_NBSD_LIBPCI :: Num a => a Source #
NetBSD libpci
c'PCI_ACCESS_OBSD_DEVICE :: Num a => a Source #
OpenBSD devpci
c'PCI_ACCESS_DUMP :: Num a => a Source #
Dump file
c'PCI_ACCESS_DARWIN :: Num a => a Source #
Darwin
c'PCI_ACCESS_MAX :: Num a => a Source #
data C'pci_access Source #
PCI Access Structure
Access method
Open in read/write mode
Bus-centric view of the world
Name of ID list file (use pci_set_name_list_path())
Set if id_file_name is malloced
Enforce PCI_LOOKUP_NUMERIC (>1 => PCI_LOOKUP_MIXED)
pci_lookup_mode flags which are set automatically Default: PCI_LOOKUP_CACHE
Turn on debugging messages
Write error message and quit
Write a warning message
Write a debugging message
Devices found on this bus
names.c
0=not read, 1=read, 2=dirty
names-hwdb.c
proc/sys: fd for config space
proc/sys: fd opened read-write
proc/sys: current position
sys: fd for VPD
proc/sys: device the fds are for
Instances
Eq C'pci_access Source # | |
Defined in Bindings.Libpci.Pci (==) :: C'pci_access -> C'pci_access -> Bool # (/=) :: C'pci_access -> C'pci_access -> Bool # | |
Show C'pci_access Source # | |
Defined in Bindings.Libpci.Pci showsPrec :: Int -> C'pci_access -> ShowS # show :: C'pci_access -> String # showList :: [C'pci_access] -> ShowS # | |
Storable C'pci_access Source # | |
Defined in Bindings.Libpci.Pci sizeOf :: C'pci_access -> Int # alignment :: C'pci_access -> Int # peekElemOff :: Ptr C'pci_access -> Int -> IO C'pci_access # pokeElemOff :: Ptr C'pci_access -> Int -> C'pci_access -> IO () # peekByteOff :: Ptr b -> Int -> IO C'pci_access # pokeByteOff :: Ptr b -> Int -> C'pci_access -> IO () # peek :: Ptr C'pci_access -> IO C'pci_access # poke :: Ptr C'pci_access -> C'pci_access -> IO () # |
c'pci_alloc :: IO (Ptr C'pci_access) Source #
Initialize PCI access
c'pci_init :: Ptr C'pci_access -> IO () Source #
c'pci_cleanup :: Ptr C'pci_access -> IO () Source #
p'pci_alloc :: FunPtr (IO (Ptr C'pci_access)) Source #
p'pci_init :: FunPtr (Ptr C'pci_access -> IO ()) Source #
p'pci_cleanup :: FunPtr (Ptr C'pci_access -> IO ()) Source #
Scanning of devices
c'pci_scan_bus :: Ptr C'pci_access -> IO () Source #
p'pci_scan_bus :: FunPtr (Ptr C'pci_access -> IO ()) Source #
Raw access to specified device
p'pci_get_dev :: FunPtr (Ptr C'pci_access -> CInt -> CInt -> CInt -> CInt -> IO (Ptr C'pci_dev)) Source #
p'pci_free_dev :: FunPtr (Ptr C'pci_dev -> IO ()) Source #
Names of access methods | Returns -1 if not found
p'pci_lookup_method :: FunPtr (CString -> IO CInt) Source #
Returns "" if unavailable, NULL if index out of range
p'pci_access'method :: Ptr C'pci_access -> Ptr CUInt Source #
Named parameters
p'pci_access'buscentric :: Ptr C'pci_access -> Ptr CInt Source #
Please use pci_walk_params() for traversing the list
p'pci_access'id_file_name :: Ptr C'pci_access -> Ptr CString Source #
Name of the parameter
p'pci_access'numeric_ids :: Ptr C'pci_access -> Ptr CInt Source #
Value of the parameter
p'pci_access'id_lookup_mode :: Ptr C'pci_access -> Ptr CUInt Source #
used internally
p'pci_access'error :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ())) Source #
Explanation of the parameter
data C'pci_param Source #
Instances
Eq C'pci_param Source # | |
Defined in Bindings.Libpci.Pci (==) :: C'pci_param -> C'pci_param -> Bool # (/=) :: C'pci_param -> C'pci_param -> Bool # | |
Show C'pci_param Source # | |
Defined in Bindings.Libpci.Pci showsPrec :: Int -> C'pci_param -> ShowS # show :: C'pci_param -> String # showList :: [C'pci_param] -> ShowS # | |
Storable C'pci_param Source # | |
Defined in Bindings.Libpci.Pci sizeOf :: C'pci_param -> Int # alignment :: C'pci_param -> Int # peekElemOff :: Ptr C'pci_param -> Int -> IO C'pci_param # pokeElemOff :: Ptr C'pci_param -> Int -> C'pci_param -> IO () # peekByteOff :: Ptr b -> Int -> IO C'pci_param # pokeByteOff :: Ptr b -> Int -> C'pci_param -> IO () # peek :: Ptr C'pci_param -> IO C'pci_param # poke :: Ptr C'pci_param -> C'pci_param -> IO () # |
p'pci_access'warning :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ())) Source #
c'pci_get_param :: Ptr C'pci_access -> CString -> IO CString Source #
p'pci_access'debug :: Ptr C'pci_access -> Ptr (FunPtr (CString -> IO ())) Source #
p'pci_get_param :: FunPtr (Ptr C'pci_access -> CString -> IO CString) Source #
0 on success, -1 if no such parameter
p'pci_access'devices :: Ptr C'pci_access -> Ptr (Ptr C'pci_dev) Source #
c'pci_set_param :: Ptr C'pci_access -> CString -> CString -> IO CInt Source #
p'pci_set_param :: FunPtr (Ptr C'pci_access -> CString -> CString -> IO CInt) Source #
To traverse the list, call pci_walk_params repeatedly, first with prev=NULL, and do not modify the parameters during traversal
p'pci_param'next :: Ptr C'pci_param -> Ptr (Ptr C'pci_param) Source #
c'pci_walk_params :: Ptr C'pci_access -> Ptr C'pci_param -> IO (Ptr C'pci_param) Source #
p'pci_access'params :: Ptr C'pci_access -> Ptr (Ptr C'pci_param) Source #
p'pci_param'param :: Ptr C'pci_param -> Ptr CString Source #
p'pci_walk_params :: FunPtr (Ptr C'pci_access -> Ptr C'pci_param -> IO (Ptr C'pci_param)) Source #
p'pci_access'id_hash :: Ptr C'pci_access -> Ptr (Ptr (Ptr C'id_entry)) Source #
p'pci_param'value :: Ptr C'pci_param -> Ptr CString Source #
p'pci_param'help :: Ptr C'pci_param -> Ptr CString Source #
p'pci_access'id_udev :: Ptr C'pci_access -> Ptr (Ptr C'udev) Source #
p'pci_access'fd :: Ptr C'pci_access -> Ptr CInt Source #
p'pci_access'fd_rw :: Ptr C'pci_access -> Ptr CInt Source #
p'pci_access'fd_pos :: Ptr C'pci_access -> Ptr CInt Source #
p'pci_access'fd_vpd :: Ptr C'pci_access -> Ptr CInt Source #
p'pci_access'cached_dev :: Ptr C'pci_access -> Ptr (Ptr C'pci_dev) Source #
Devices
Next device in the chain
16-bit version of the PCI domain for backward compatibility
Bus inside domain, device and function
These fields are set by pci_fill_info() | Set of info fields already known (see pci_fill_info())
Identity of the device
Identity of the device
PCI device class
IRQ number
Base addresses including flags in lower bits
Region sizes
Expansion ROM base address
Expansion ROM size
List of capabilities
Physical slot
Linux kernel module alias
Device name as exported by BIOS
NUMA node
PCI_IORESOURCE_* flags for regions
PCI_IORESOURCE_* flags for expansion ROM
PCI domain (host bridge)
Cached config registers
Cached low 7 bits of header type, -1 if unknown
Auxiliary data for use by the back-end
Instances
Eq C'pci_dev Source # | |
Show C'pci_dev Source # | |
Storable C'pci_dev Source # | |
Defined in Bindings.Libpci.Pci |
c'pci_fill_info :: Ptr C'pci_dev -> CInt -> IO CInt Source #
Most device properties take some effort to obtain, so libpci does not initialize them during default bus scan. Instead, you have to call pci_fill_info() with the proper PCI_FILL_xxx constants OR'ed together.
Some properties are stored directly in the pci_dev structure. The remaining ones can be accessed through pci_get_string_property().
pci_fill_info() returns the current value of pci_dev->known_fields. This is a bit mask of all fields, which were already obtained during the lifetime of the device. This includes fields which are not supported by the particular device -- in that case, the field is left at its default value, which is 0 for integer fields and NULL for pointers. On the other hand, we never consider known fields unsupported by the current back-end; such fields always contain the default value.
XXX: flags and the result should be unsigned, but we do not want to break the ABI.
c'PCI_FILL_IDENT :: Num a => a Source #
c'PCI_FILL_IRQ :: Num a => a Source #
c'PCI_FILL_BASES :: Num a => a Source #
c'PCI_FILL_ROM_BASE :: Num a => a Source #
c'PCI_FILL_SIZES :: Num a => a Source #
c'PCI_FILL_CLASS :: Num a => a Source #
c'PCI_FILL_CAPS :: Num a => a Source #
c'PCI_FILL_EXT_CAPS :: Num a => a Source #
c'PCI_FILL_PHYS_SLOT :: Num a => a Source #
c'PCI_FILL_MODULE_ALIAS :: Num a => a Source #
c'PCI_FILL_LABEL :: Num a => a Source #
c'PCI_FILL_NUMA_NODE :: Num a => a Source #
c'PCI_FILL_IO_FLAGS :: Num a => a Source #
c'PCI_FILL_RESCAN :: Num a => a Source #
p'pci_dev'access :: Ptr C'pci_dev -> Ptr (Ptr C'pci_access) Source #
Position in the config space
Instances
Eq C'pci_cap Source # | |
Show C'pci_cap Source # | |
Storable C'pci_cap Source # | |
Defined in Bindings.Libpci.Pci |
p'pci_dev'methods :: Ptr C'pci_dev -> Ptr (Ptr C'pci_methods) Source #
c'PCI_CAP_NORMAL :: Num a => a Source #
c'PCI_CAP_EXTENDED :: Num a => a Source #
data C'pci_filter Source #
Filters
- 1 = ANY
- 1 = ANY
- 1 = ANY
- 1 = ANY
Instances
Eq C'pci_filter Source # | |
Defined in Bindings.Libpci.Pci (==) :: C'pci_filter -> C'pci_filter -> Bool # (/=) :: C'pci_filter -> C'pci_filter -> Bool # | |
Show C'pci_filter Source # | |
Defined in Bindings.Libpci.Pci showsPrec :: Int -> C'pci_filter -> ShowS # show :: C'pci_filter -> String # showList :: [C'pci_filter] -> ShowS # | |
Storable C'pci_filter Source # | |
Defined in Bindings.Libpci.Pci sizeOf :: C'pci_filter -> Int # alignment :: C'pci_filter -> Int # peekElemOff :: Ptr C'pci_filter -> Int -> IO C'pci_filter # pokeElemOff :: Ptr C'pci_filter -> Int -> C'pci_filter -> IO () # peekByteOff :: Ptr b -> Int -> IO C'pci_filter # pokeByteOff :: Ptr b -> Int -> C'pci_filter -> IO () # peek :: Ptr C'pci_filter -> IO C'pci_filter # poke :: Ptr C'pci_filter -> C'pci_filter -> IO () # |
c'pci_filter_init :: Ptr C'pci_access -> Ptr C'pci_filter -> IO () Source #
c'pci_filter_parse_slot :: Ptr C'pci_filter -> CString -> IO CString Source #
c'pci_filter_parse_id :: Ptr C'pci_filter -> CString -> IO CString Source #
p'pci_filter_init :: FunPtr (Ptr C'pci_access -> Ptr C'pci_filter -> IO ()) Source #
c'pci_filter_match :: Ptr C'pci_filter -> Ptr C'pci_dev -> IO CInt Source #
p'pci_filter_parse_slot :: FunPtr (Ptr C'pci_filter -> CString -> IO CString) Source #
p'pci_filter_parse_id :: FunPtr (Ptr C'pci_filter -> CString -> IO CString) Source #
p'pci_filter_match :: FunPtr (Ptr C'pci_filter -> Ptr C'pci_dev -> IO CInt) Source #
p'pci_filter'domain :: Ptr C'pci_filter -> Ptr CInt Source #
Conversion of PCI ID's to names (according to the pci.ids file) Call pci_lookup_name() to identify different types of ID's: VENDOR(vendorID) -> vendor DEVICE(vendorID, deviceID) -> device VENDOR | DEVICE(vendorID, deviceID) -> combined vendor and device SUBSYSTEM | VENDOR(subvendorID) -> subsystem vendor SUBSYSTEM | DEVICE(vendorID, deviceID, subvendorID, subdevID) -> subsystem device SUBSYSTEM | VENDOR | DEVICE(vendorID, deviceID, subvendorID, subdevID) -> combined subsystem v+d SUBSYSTEM | ...(-1, -1, subvendorID, subdevID) -> generic subsystem CLASS(classID) -> class PROGIF(classID, progif) -> programming interface
p'pci_filter'bus :: Ptr C'pci_filter -> Ptr CInt Source #
p'pci_filter'slot :: Ptr C'pci_filter -> Ptr CInt Source #
p'pci_filter'func :: Ptr C'pci_filter -> Ptr CInt Source #
c'pci_lookup_name :: Ptr C'pci_access -> CString -> CInt -> CUInt -> CInt -> CInt -> CInt -> CInt -> IO CString Source #
p'pci_filter'vendor :: Ptr C'pci_filter -> Ptr CInt Source #
p'pci_lookup_name :: FunPtr (Ptr C'pci_access -> CString -> CInt -> CUInt -> CInt -> CInt -> CInt -> CInt -> IO CString) Source #
Called automatically by pci_lookup_*() when needed; returns success
c'pci_load_name_list :: Ptr C'pci_access -> IO CInt Source #
p'pci_filter'device :: Ptr C'pci_filter -> Ptr CInt Source #
p'pci_load_name_list :: FunPtr (Ptr C'pci_access -> IO CInt) Source #
p'pci_filter'device_class :: Ptr C'pci_filter -> Ptr CInt Source #
Called automatically by pci_cleanup
c'pci_free_name_list :: Ptr C'pci_access -> IO () Source #
c'pci_set_name_list_path :: Ptr C'pci_access -> CString -> CInt -> IO () Source #
p'pci_filter'rfu :: Ptr C'pci_filter -> Ptr CInt Source #
c'pci_id_cache_flush :: Ptr C'pci_access -> IO () Source #
p'pci_free_name_list :: FunPtr (Ptr C'pci_access -> IO ()) Source #
p'pci_set_name_list_path :: FunPtr (Ptr C'pci_access -> CString -> CInt -> IO ()) Source #
p'pci_id_cache_flush :: FunPtr (Ptr C'pci_access -> IO ()) Source #
type C'pci_lookup_mode = CUInt Source #
c'PCI_LOOKUP_VENDOR :: Num a => a Source #
1 Vendor name (args: vendorID)
c'PCI_LOOKUP_DEVICE :: Num a => a Source #
2 Device name (args: vendorID, deviceID)
c'PCI_LOOKUP_CLASS :: Num a => a Source #
4 Device class (args: classID)
c'PCI_LOOKUP_SUBSYSTEM :: Num a => a Source #
8
c'PCI_LOOKUP_PROGIF :: Num a => a Source #
16 Programming interface (args: classID, prog_if)
c'PCI_LOOKUP_NUMERIC :: Num a => a Source #
0x10000 Want only formatted numbers; default if access->numeric_id is set
c'PCI_LOOKUP_NO_NUMBERS :: Num a => a Source #
0x20000 Return NULL if not found in the database; default is to print numerically
c'PCI_LOOKUP_MIXED :: Num a => a Source #
0x40000 Include both numbers and names
c'PCI_LOOKUP_NETWORK :: Num a => a Source #
0x80000 Try to resolve unknown ID's by DNS
c'PCI_LOOKUP_SKIP_LOCAL :: Num a => a Source #
0x100000 Do not consult local database
c'PCI_LOOKUP_CACHE :: Num a => a Source #
0x200000 Consult the local cache before using DNS
c'PCI_LOOKUP_REFRESH_CACHE :: Num a => a Source #
0x400000 Forget all previously cached entries, but still allow updating the cache
c'PCI_LOOKUP_NO_HWDB :: Num a => a Source #
0x800000 Do not ask udev's hwdb