# This is a minimal record definition

menu(xSFX) {
  choice(SFX_Before, "Before")
  choice(SFX_After, "After")
  choice(SFX_None, "None")
}

recordtype(x) {
  include "dbCommon.dbd"
  field(VAL, DBF_LONG) {
    prompt("Value")
    special(SPC_MOD)
  }
  field(C8, DBF_CHAR) {
    prompt("Char")
  }
  field(U8, DBF_UCHAR) {
    prompt("Byte")
  }
  field(I16, DBF_SHORT) {
    prompt("Short")
  }
  field(U16, DBF_USHORT) {
    prompt("UShort")
  }
  field(I32, DBF_LONG) {
    prompt("Integer")
  }
  field(U32, DBF_ULONG) {
    prompt("Unsigned")
  }
  field(I64, DBF_INT64) {
    prompt("Long")
  }
  field(U64, DBF_UINT64) {
    prompt("ULong")
  }
  field(F32, DBF_FLOAT) {
    prompt("Float")
  }
  field(F64, DBF_DOUBLE) {
    prompt("Double")
  }
  field(LNK, DBF_INLINK) {
    prompt("Link")
  }
  field(INP, DBF_INLINK) {
    prompt("Input Link")
    special(SPC_MOD)
  }
  field(CLBK, DBF_NOACCESS) {
    prompt("Processing callback")
    special(SPC_NOMOD)
    extra("void (*clbk)(struct xRecord*)")
  }
  field(OTST, DBF_DOUBLE) {
    prompt("dbGet() options test")
    special(SPC_NOMOD)
  }
  field(SFX, DBF_MENU) {
    prompt("Special effects")
    menu(xSFX)
    initial("None")
  }
}
