1 #ifndef _DDEKIT_RESOURCES_H 2 #define _DDEKIT_RESOURCES_H 3 4 #include <ddekit/ddekit.h> 5 #include <ddekit/types.h> 6 7 8 /* 9 * request/release an isa DMA-channel 10 */ 11 12 int ddekit_request_dma(int nr); 13 int ddekit_release_dma(int nr); 14 15 /* 16 * request/release an io-port range starting at addr start, lenght of count 17 */ 18 int ddekit_request_io(ddekit_addr_t start, ddekit_addr_t count); 19 int ddekit_release_io(ddekit_addr_t start, ddekit_addr_t count); 20 21 /* 22 * request an IO-Memory mapping from address start to vaddr of the length count 23 */ 24 int ddekit_request_mem(ddekit_addr_t start, ddekit_addr_t count, 25 ddekit_addr_t *vaddr); 26 int ddekit_release_mem(ddekit_addr_t start, ddekit_addr_t count); 27 28 /** 29 * Read I/O port (byte) 30 * 31 * \param port port to read 32 * 33 * \return value read from port 34 */ 35 unsigned char ddekit_inb(ddekit_addr_t port); 36 37 /** 38 * Read I/O port (2-byte) 39 * 40 * \param port port to read 41 * 42 * \return value read from port 43 */ 44 unsigned short ddekit_inw(ddekit_addr_t port); 45 46 /** 47 * Read I/O port (4-byte) 48 * 49 * \param port port to read 50 * 51 * \return value read from port 52 */ 53 unsigned long ddekit_inl(ddekit_addr_t port); 54 55 /** 56 * Write I/O port (byte) 57 * 58 * \param port port to write 59 * \param val value to write 60 */ 61 void ddekit_outb(ddekit_addr_t port, unsigned char val); 62 63 /** 64 * Write I/O port (2-byte) 65 * 66 * \param port port to write 67 * \param val value to write 68 */ 69 void ddekit_outw(ddekit_addr_t port, unsigned short val); 70 71 /** 72 * Write I/O port (4-byte) 73 * 74 * \param port port to write 75 * \param val value to write 76 */ 77 void ddekit_outl(ddekit_addr_t port, unsigned long val); 78 79 80 #endif 81