{
  "ENTRY": "DNSgetHostByName",

  ################################################################
  # This configuration sets callback to 0.
  # It also sets MAX_HOSTNAME_LEN to 10 to bound strcmp.
  # According to the specification MAX_HOST_NAME is upto 255.

  "callback": 0,
  "MAX_HOSTNAME_LEN": 10,
  "HOSTNAME_UNWIND": "__eval {MAX_HOSTNAME_LEN} + 1",

  "CBMCFLAGS":
  [
    "--unwind 1",
    "--unwindset prvCreateDNSMessage.0:{HOSTNAME_UNWIND},prvCreateDNSMessage.1:{HOSTNAME_UNWIND},strlen.0:{HOSTNAME_UNWIND},__builtin___strcpy_chk.0:{HOSTNAME_UNWIND},strcmp.0:{HOSTNAME_UNWIND},strcpy.0:{HOSTNAME_UNWIND}",
    "--unwindset prvGetHostByNameOp_WithRetry.0:{HOSTNAME_UNWIND}",
    "--nondet-static"
  ],

  "OBJS":
  [
    "$(ENTRY)_harness.goto",
    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/cbmc.goto",
    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/freertos_api.goto",
    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS.goto",
    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS_Parser.goto"
  ],

  "DEF":
  [
    "ipconfigDNS_USE_CALLBACKS={callback}",
    "MAX_HOSTNAME_LEN={MAX_HOSTNAME_LEN}"
  ]
}
