/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to pcilib_types.h

  • Committer: Suren A. Chilingaryan
  • Date: 2015-04-20 20:01:04 UTC
  • Revision ID: csa@suren.me-20150420200104-b5xny65io8lvoz3w
Big redign of model structures

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef _PCILIB_TYPES_H
2
 
#define _PCILIB_TYPES_H
3
 
 
4
 
#define KMEM_REF_HW             0x80000000      /**< Special reference to indicate hardware access */
5
 
#define KMEM_REF_COUNT          0x0FFFFFFF      /**< Mask of reference counter (mmap/munmap), couting in mmaped memory pages */
6
 
 
7
 
#define KMEM_MODE_REUSABLE      0x80000000      /**< Indicates reusable buffer */
8
 
#define KMEM_MODE_EXCLUSIVE     0x40000000      /**< Only a single process is allowed to mmap the buffer */
9
 
#define KMEM_MODE_PERSISTENT    0x20000000      /**< Persistent mode instructs kmem_free to preserve buffer in memory */
10
 
#define KMEM_MODE_COUNT         0x0FFFFFFF      /**< Mask of reuse counter (alloc/free) */
11
 
 
12
 
#define PCILIB_KMEM_TYPE_MASK   0xFFFF0000
13
 
 
14
 
typedef enum {
15
 
    PCILIB_KMEM_TYPE_CONSISTENT = 0x00000,
16
 
    PCILIB_KMEM_TYPE_PAGE = 0x10000,
17
 
    PCILIB_KMEM_TYPE_DMA_S2C_PAGE = 0x10001,
18
 
    PCILIB_KMEM_TYPE_DMA_C2S_PAGE = 0x10002,
19
 
    PCILIB_KMEM_TYPE_REGION = 0x20000,
20
 
    PCILIB_KMEM_TYPE_REGION_S2C = 0x20001,
21
 
    PCILIB_KMEM_TYPE_REGION_C2S = 0x20002
22
 
} pcilib_kmem_type_t;
23
 
 
24
 
typedef enum {
25
 
    PCILIB_KMEM_USE_STANDARD = 0,
26
 
    PCILIB_KMEM_USE_DMA_RING = 1,
27
 
    PCILIB_KMEM_USE_DMA_PAGES = 2,
28
 
    PCILIB_KMEM_USE_USER = 0x10
29
 
} pcilib_kmem_use_t;
30
 
 
31
 
typedef enum {
32
 
    PCILIB_KMEM_SYNC_BIDIRECTIONAL = 0,
33
 
    PCILIB_KMEM_SYNC_TODEVICE = 1,
34
 
    PCILIB_KMEM_SYNC_FROMDEVICE = 2
35
 
} pcilib_kmem_sync_direction_t;
36
 
 
37
 
 
38
 
#define PCILIB_KMEM_USE(type, subtype) (((type) << 16)|(subtype))
39
 
 
40
 
 
41
 
//pcilib_alloc_kmem_buffer(pcilib_t *ctx, size_t size, size_t alignment)
42
 
 
43
 
 
44
 
#endif /* _PCILIB_TYPES_H */