# ZeroMQ networking library models
extensions:
  - addsTo:
      pack: codeql/cpp-all
      extensible: sourceModel
    data: # namespace, type, subtypes, name, signature, ext, output, kind, provenance
      - ["", "", False, "zmq_recv", "", "", "Argument[*1]", "remote", "manual"]
      - ["", "", False, "zmq_recvmsg", "", "", "Argument[*1]", "remote", "manual"]
      - ["", "", False, "zmq_msg_recv", "", "", "Argument[*0]", "remote", "manual"]
  - addsTo:
      pack: codeql/cpp-all
      extensible: sinkModel
    data: # namespace, type, subtypes, name, signature, ext, input, kind, provenance
      - ["", "", False, "zmq_send", "", "", "Argument[*1]", "remote-sink", "manual"]
      - ["", "", False, "zmq_sendmsg", "", "", "Argument[*1]", "remote-sink", "manual"]
      - ["", "", False, "zmq_msg_send", "", "", "Argument[*0]", "remote-sink", "manual"]
  - addsTo:
      pack: codeql/cpp-all
      extensible: summaryModel
    data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance
      - ["", "", False, "zmq_msg_init_data", "", "", "Argument[*1]", "Argument[*0]", "taint", "manual"]
      - ["", "", False, "zmq_msg_data", "", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"]
