~galfy/helenos/bird-port-mainline

« back to all changes in this revision

Viewing changes to uspace/srv/pci/libpci/internal.h

  • Committer: Martin Decky
  • Date: 2009-08-04 11:19:19 UTC
  • Revision ID: martin@uranus.dsrg.hide.ms.mff.cuni.cz-20090804111919-evyclddlr3v5lhmp
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *      The PCI Library -- Internal Stuff
 
3
 *
 
4
 *      Copyright (c) 1997--2004 Martin Mares <mj@ucw.cz>
 
5
 *
 
6
 *      May 8, 2006 - Modified and ported to HelenOS by Jakub Jermar.
 
7
 *
 
8
 *      Can be freely distributed and used under the terms of the GNU GPL.
 
9
 */
 
10
 
 
11
#include "pci.h"
 
12
#include "sysdep.h"
 
13
 
 
14
struct pci_methods {
 
15
        char *name;
 
16
        void (*config) (struct pci_access *);
 
17
        int (*detect) (struct pci_access *);
 
18
        void (*init) (struct pci_access *);
 
19
        void (*cleanup) (struct pci_access *);
 
20
        void (*scan) (struct pci_access *);
 
21
        int (*fill_info) (struct pci_dev *, int flags);
 
22
        int (*read) (struct pci_dev *, int pos, byte * buf, int len);
 
23
        int (*write) (struct pci_dev *, int pos, byte * buf, int len);
 
24
        void (*init_dev) (struct pci_dev *);
 
25
        void (*cleanup_dev) (struct pci_dev *);
 
26
};
 
27
 
 
28
void pci_generic_scan_bus(struct pci_access *, byte * busmap, int bus);
 
29
void pci_generic_scan(struct pci_access *);
 
30
int pci_generic_fill_info(struct pci_dev *, int flags);
 
31
int pci_generic_block_read(struct pci_dev *, int pos, byte * buf, int len);
 
32
int pci_generic_block_write(struct pci_dev *, int pos, byte * buf,
 
33
                            int len);
 
34
 
 
35
void *pci_malloc(struct pci_access *, int);
 
36
void pci_mfree(void *);
 
37
 
 
38
struct pci_dev *pci_alloc_dev(struct pci_access *);
 
39
int pci_link_dev(struct pci_access *, struct pci_dev *);
 
40
 
 
41
extern struct pci_methods pm_intel_conf1, pm_intel_conf2, pm_linux_proc,
 
42
    pm_fbsd_device, pm_aix_device, pm_nbsd_libpci, pm_obsd_device,
 
43
    pm_dump, pm_linux_sysfs;