## liboilparameter

liboilparameter —

##

# Synopsis

    enum        OilType;
    enum        OilArgType;
    struct      OilParameter;

## Description

## Details

### enum OilType

    typedef enum {
      OIL_TYPE_UNKNOWN = 0,
      OIL_TYPE_INT,
      OIL_TYPE_s8,
      OIL_TYPE_u8,
      OIL_TYPE_s16,
      OIL_TYPE_u16,
      OIL_TYPE_s32,
      OIL_TYPE_u32,
      OIL_TYPE_s64,
      OIL_TYPE_u64,
      OIL_TYPE_f32,
      OIL_TYPE_f64,
      OIL_TYPE_s8p,
      OIL_TYPE_u8p,
      OIL_TYPE_s16p,
      OIL_TYPE_u16p,
      OIL_TYPE_s32p,
      OIL_TYPE_u32p,
      OIL_TYPE_s64p,
      OIL_TYPE_u64p,
      OIL_TYPE_f32p,
      OIL_TYPE_f64p,
    } OilType;

### enum OilArgType

    typedef enum {
      OIL_ARG_UNKNOWN = 0,
      OIL_ARG_N,
      OIL_ARG_M,
      OIL_ARG_DEST1,
      OIL_ARG_DSTR1,
      OIL_ARG_DEST2,
      OIL_ARG_DSTR2,
      OIL_ARG_SRC1,
      OIL_ARG_SSTR1,
      OIL_ARG_SRC2,
      OIL_ARG_SSTR2,
      OIL_ARG_SRC3,
      OIL_ARG_SSTR3,
      OIL_ARG_SRC4,
      OIL_ARG_SSTR4,
      OIL_ARG_SRC5,
      OIL_ARG_SSTR5,
      OIL_ARG_INPLACE1,
      OIL_ARG_ISTR1,
      OIL_ARG_INPLACE2,
      OIL_ARG_ISTR2,

      OIL_ARG_LAST
    } OilArgType;

### struct OilParameter

    struct OilParameter {

      char *type_name;
      char *parameter_name;

      int order;
      OilType type;

      int direction;
      int is_pointer;
      int is_stride;
      int index;
      int prestride_length;
      int prestride_var;
      int poststride_length;
      int poststride_var;

      OilArgType parameter_type;

      void *src_data;
      void *ref_data;
      void *test_data;
      unsigned long value;

      int pre_n;
      int post_n;
      int stride;
      int size;
      int guard;
    };