Jan Breuer
2015-04-22 a5a84c429ac548eafd1d3903225a4ce72104201f
libscpi/inc/scpi/types.h
@@ -105,7 +105,7 @@
    typedef struct _scpi_command_t scpi_command_t;
#define SCPI_CMD_LIST_END       {NULL, NULL, }
#define SCPI_CMD_LIST_END       {NULL, NULL, 0}
    /* scpi interface */
    typedef struct _scpi_t scpi_t;
@@ -161,14 +161,14 @@
    struct _scpi_token_t {
        scpi_token_type_t type;
        const char * ptr;
        char * ptr;
        int len;
    };
    typedef struct _scpi_token_t scpi_token_t;
    struct _lex_state_t {
        const char * buffer;
        const char * pos;
        char * buffer;
        char * pos;
        int len;
    };
    typedef struct _lex_state_t lex_state_t;
@@ -190,7 +190,6 @@
    typedef struct _scpi_parser_state_t scpi_parser_state_t;
    typedef scpi_result_t(*scpi_command_callback_t)(scpi_t *);
    typedef int32_t(*scpi_test_command_callback_t)(scpi_t *);
    /* scpi error queue */
    typedef void * scpi_error_queue_t;
@@ -225,16 +224,17 @@
        SCPI_NUM_DOWN,
        SCPI_NUM_NAN,
        SCPI_NUM_INF,
        SCPI_NUM_NINF
        SCPI_NUM_NINF,
        SCPI_NUM_AUTO
    };
    typedef enum _scpi_special_number_t scpi_special_number_t;
    struct _scpi_special_number_def_t {
    struct _scpi_choice_def_t {
        const char * name;
        scpi_special_number_t type;
        int32_t tag;
    };
#define SCPI_SPECIAL_NUMBERS_LIST_END   {NULL, SCPI_NUM_NUMBER}
    typedef struct _scpi_special_number_def_t scpi_special_number_def_t;
#define SCPI_CHOICE_LIST_END   {NULL, -1}
    typedef struct _scpi_choice_def_t scpi_choice_def_t;
    struct _scpi_param_list_t {
        const scpi_command_t * cmd;
@@ -244,10 +244,13 @@
    typedef struct _scpi_param_list_t scpi_param_list_t;  
    
    struct _scpi_number_parameter_t {
        double value;
        scpi_bool_t special;
        union {
            double value;
            int32_t tag;
        };
        scpi_unit_t unit;
        int8_t base;
        scpi_special_number_t type;
    };
    typedef struct _scpi_number_parameter_t scpi_number_t;
@@ -257,16 +260,12 @@
    };
    typedef struct _scpi_data_parameter_t scpi_data_parameter_t;
    
    struct _scpi_parameter_t {
        scpi_token_type_t type;
        scpi_data_parameter_t data;
        scpi_number_t number;
    };
    typedef struct _scpi_parameter_t scpi_parameter_t;
    typedef scpi_token_t scpi_parameter_t;
    
    struct _scpi_command_t {
        const char * pattern;
        scpi_command_callback_t callback;
        int32_t tag;
    };
    struct _scpi_interface_t {
@@ -275,7 +274,6 @@
        scpi_write_control_t control;
        scpi_command_callback_t flush;
        scpi_command_callback_t reset;
        scpi_test_command_callback_t test;
    };
    struct _scpi_t {
@@ -289,7 +287,6 @@
        scpi_error_queue_t error_queue;
        scpi_reg_val_t * registers;
        const scpi_unit_def_t * units;
        const scpi_special_number_def_t * special_numbers;
        void * user_context;
        scpi_parser_state_t parser_state;
        const char * idn[4];