LLC2_API
Classes | Defines | Enumerations
acq200_ioctl.h File Reference
#include <asm/ioctl.h>
#include <asm/types.h>

Go to the source code of this file.

Classes

struct  MailboxControl
struct  BufferAB_Ops
struct  BufferAB_Ops::ClientInstructions
struct  BufferAB_Ops::DriverStatus

Defines

#define DMAGIC   0xDA
#define MBOX_NUM   4
#define MBC_FLAGS_TO   0xffff
#define MBC_FLAGS_TO_FOREVER   0
#define MBC_FLAGS_MBXW   0x000f0000
#define MBC_FLAGS_MBXR   0x00f00000
#define MBC_FLAGS_ONRELEASE   0x10000000
#define MBC_TO_MBXW(mx)   ((mx) << 16)
#define MBC_FROM_MBXW(mbc)   (((mbc->mbc_flags)&MBC_FLAGS_MBXW) >> 16)
#define MBC_TO_MBXR(mx)   ((mx) << 20)
#define MBC_FROM_MBXR(mbc)   (((mbc->mbc_flags)&MBC_FLAGS_MBXR) >> 20)
#define ACQ200_MBOX_IOR   _IOR(DMAGIC, 1, struct MailboxControl)
 immediate read
#define ACQ200_MBOX_IOW   _IOW(DMAGIC, 2, struct MailboxControl)
 non-blocking write ...
#define ACQ200_MBOX_IOWR   _IOWR(DMAGIC, 3, struct MailboxControl)
 write block read return
#define BUFFERA   0
 Swinging buffer operation.
#define BUFFERB   1
#define BUFFER_A_FLAG   0x1
#define BUFFER_B_FLAG   0x2
#define BUFFER_FLAG_LUT   "\x1\x2"
#define FOREVER   ((long)(~0UL>>1))
#define FULL_EOF   0x80000000
#define BUFFERAB_OPS_SZ   (sizeof(struct BufferAB_Ops))
#define ACQ200_BUFFER_AB_IOWR   _IOWR(DMAGIC, 4, struct BufferAB_Ops)

Enumerations

enum  { EACQ32_NO_INCOMING_I2O = 3200, EACQ32_NO_MAPPING, EACQ32_OUT_OF_MAPPING_RANGE, EACQ32_OFFSET_NOT_ON_WHOLE_BUFFER_BOUNDARY }

Define Documentation

#define ACQ200_BUFFER_AB_IOWR   _IOWR(DMAGIC, 4, struct BufferAB_Ops)

Definition at line 104 of file acq200_ioctl.h.

#define ACQ200_MBOX_IOR   _IOR(DMAGIC, 1, struct MailboxControl)

immediate read

Definition at line 51 of file acq200_ioctl.h.

#define ACQ200_MBOX_IOW   _IOW(DMAGIC, 2, struct MailboxControl)

non-blocking write ...

NB dangerous to mix with blocking write

Definition at line 53 of file acq200_ioctl.h.

#define ACQ200_MBOX_IOWR   _IOWR(DMAGIC, 3, struct MailboxControl)

write block read return

Definition at line 55 of file acq200_ioctl.h.

Referenced by setPathCleanup().

#define BUFFER_A_FLAG   0x1

Definition at line 80 of file acq200_ioctl.h.

#define BUFFER_B_FLAG   0x2

Definition at line 81 of file acq200_ioctl.h.

#define BUFFER_FLAG_LUT   "\x1\x2"

Definition at line 83 of file acq200_ioctl.h.

#define BUFFERA   0

Swinging buffer operation.

BUFFER_A, BUFFER_B : filled in turn. need to know - sequence number, length need to return buffer to the pool when doen a single ioctl call will:

  • recycle buffers
  • block on timeout
  • return status of both BufferA, BufferB

Definition at line 77 of file acq200_ioctl.h.

#define BUFFERAB_OPS_SZ   (sizeof(struct BufferAB_Ops))

Definition at line 102 of file acq200_ioctl.h.

#define BUFFERB   1

Definition at line 78 of file acq200_ioctl.h.

#define DMAGIC   0xDA

Definition at line 28 of file acq200_ioctl.h.

#define FOREVER   ((long)(~0UL>>1))

Definition at line 85 of file acq200_ioctl.h.

#define FULL_EOF   0x80000000

Definition at line 87 of file acq200_ioctl.h.

#define MBC_FLAGS_MBXR   0x00f00000

Definition at line 34 of file acq200_ioctl.h.

#define MBC_FLAGS_MBXW   0x000f0000

Definition at line 33 of file acq200_ioctl.h.

#define MBC_FLAGS_ONRELEASE   0x10000000

Definition at line 35 of file acq200_ioctl.h.

Referenced by setPathCleanup().

#define MBC_FLAGS_TO   0xffff

Definition at line 31 of file acq200_ioctl.h.

#define MBC_FLAGS_TO_FOREVER   0

Definition at line 32 of file acq200_ioctl.h.

#define MBC_FROM_MBXR (   mbc)    (((mbc->mbc_flags)&MBC_FLAGS_MBXR) >> 20)

Definition at line 41 of file acq200_ioctl.h.

#define MBC_FROM_MBXW (   mbc)    (((mbc->mbc_flags)&MBC_FLAGS_MBXW) >> 16)

Definition at line 38 of file acq200_ioctl.h.

#define MBC_TO_MBXR (   mx)    ((mx) << 20)

Definition at line 40 of file acq200_ioctl.h.

Referenced by setPathCleanup().

#define MBC_TO_MBXW (   mx)    ((mx) << 16)

Definition at line 37 of file acq200_ioctl.h.

Referenced by setPathCleanup().

#define MBOX_NUM   4

Definition at line 30 of file acq200_ioctl.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
EACQ32_NO_INCOMING_I2O 
EACQ32_NO_MAPPING 
EACQ32_OUT_OF_MAPPING_RANGE 
EACQ32_OFFSET_NOT_ON_WHOLE_BUFFER_BOUNDARY 

Definition at line 59 of file acq200_ioctl.h.