/*
  function block interface
  name: sm_ssi
*/

typedef long  T_BOO;
typedef long  T_ANA;
typedef float T_REAL;
typedef long  T_TMR;
typedef char  *T_MSG;

typedef struct {
   /* CALL   */ T_ANA  _command;
   /* CALL   */ T_ANA  _setpoint;
   /* CALL   */ T_ANA  _port;
   /* CALL   */ T_ANA  _ctrlreg1;
   /* CALL   */ T_ANA  _ctrlreg2;
   /* CALL   */ T_ANA  _ctrlreg3;
} str_arg;

#define COMMAND          (arg->_command)
#define SETPOINT         (arg->_setpoint)
#define PORT             (arg->_port)
#define CTRLREG1         (arg->_ctrlreg1)
#define CTRLREG2         (arg->_ctrlreg2)
#define CTRLREG3         (arg->_ctrlreg3)

#define FBLPNO_ERROR            0
#define FBLPNO_POSITION         1
#define FBLPNO_STATUS1          2
#define FBLPNO_STATUS2          3
