;;; meshtastic/xmodem.proto.lisp
;;;
;;; Generated by the protocol buffer compiler. DO NOT EDIT!

(cl:in-package #:common-lisp-user)

#+sbcl
(cl:progn
 (cl:eval-when (:compile-toplevel) (sb-ext:restrict-compiler-policy 'cl:debug 0 1))
 (cl:declaim (cl:optimize (sb-c:store-coverage-data 0))))

(cl:eval-when (:compile-toplevel :load-toplevel :execute)
  (cl:unless (cl:find-package "CL-PROTOBUFS.MESHTASTIC")
    (cl:defpackage "CL-PROTOBUFS.MESHTASTIC" (:use)
                   (:local-nicknames (#:pi #:cl-protobufs.implementation)))))

(cl:in-package "CL-PROTOBUFS.MESHTASTIC")

(cl:eval-when (:compile-toplevel :load-toplevel :execute)
(pi:define-schema 'xmodem
    :syntax :proto3

     :package "meshtastic")
)


;;; Top-Level messages

(pi:define-message x-modem
    ()
  ;; Nested enums

  (pi:define-enum x-modem.control
      ()
    (:nul :index 0)
    (:soh :index 1)
    (:stx :index 2)
    (:eot :index 4)
    (:ack :index 6)
    (:nak :index 21)
    (:can :index 24)
    (:ctrlz :index 26))
  ;; Fields
  (control
   :index 1 :type x-modem.control :kind :enum :label (:optional) :json-name "control" :default :nul)
  (seq
   :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "seq")
  (crc16
   :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "crc16")
  (buffer
   :index 4 :type cl-protobufs:byte-vector :kind :scalar :label (:optional) :json-name "buffer"))

(cl:export '(buffer
             control
             crc16
             seq
             x-modem
             x-modem.control
             x-modem.control-int-to-keyword
             x-modem.control-keyword-to-int
             xmodem))
