74 lines
1.5 KiB
Common Lisp
74 lines
1.5 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type dgo-header
|
|
(deftype dgo-header (structure)
|
|
((length uint32)
|
|
(rootname uint8 60)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type dgo-header
|
|
(defmethod inspect ((this dgo-header))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'dgo-header)
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(format #t "~1Trootname[60] @ #x~X~%" (-> this rootname))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type dgo-entry
|
|
(deftype dgo-entry (structure)
|
|
((offset uint32)
|
|
(length uint32)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type dgo-entry
|
|
(defmethod inspect ((this dgo-entry))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'dgo-entry)
|
|
(format #t "~1Toffset: ~D~%" (-> this offset))
|
|
(format #t "~1Tlength: ~D~%" (-> this length))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type dgo-file
|
|
(deftype dgo-file (basic)
|
|
((num-go-files uint32)
|
|
(total-length uint32)
|
|
(rsvd uint32)
|
|
(data uint8 :dynamic)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type dgo-file
|
|
(defmethod inspect ((this dgo-file))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tnum-go-files: ~D~%" (-> this num-go-files))
|
|
(format #t "~1Ttotal-length: ~D~%" (-> this total-length))
|
|
(format #t "~1Trsvd: ~D~%" (-> this rsvd))
|
|
(format #t "~1Tdata[0] @ #x~X~%" (-> this data))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
0
|
|
|
|
|
|
|
|
|