263 lines
7.4 KiB
Common Lisp
263 lines
7.4 KiB
Common Lisp
;;;; PMSF-Lib --- PMSF Common Lisp Utility Library
|
|
;;;; This is copyrighted software. See documentation for terms.
|
|
;;;;
|
|
;;;; pkgdef.lisp --- Package Definition for PMSF-Lib
|
|
;;;;
|
|
;;;; $Id$
|
|
|
|
(cl:in-package #:cl-user)
|
|
|
|
;;;; %File Description:
|
|
;;;;
|
|
;;;; Package Definition of PMSF-Lib
|
|
;;;;
|
|
|
|
(defpackage #:pmsf-lib
|
|
(:documentation
|
|
"PMSF Utility package by Pierre R. Mai. See documentation for terms.")
|
|
(:use #:common-lisp)
|
|
(:export
|
|
;; doc.lisp
|
|
#:file-version #:*file-versions*
|
|
#:get-file-versions #:list-file-versions
|
|
#:list-file-checksums #:list-source-checksums
|
|
#:md5-file-versions
|
|
;; common-utilities.lisp
|
|
#:generate-printed-guid
|
|
;; float-utilities.lisp
|
|
#:single-float-positive-infinity
|
|
#:single-float-negative-infinity
|
|
#:single-float-nan
|
|
#:double-float-positive-infinity
|
|
#:double-float-negative-infinity
|
|
#:double-float-nan
|
|
#:float-infinity-p
|
|
#:float-nan-p
|
|
#:float-denormalized-p
|
|
#:bit-decode-float
|
|
#:ieee-decode-float
|
|
#:float-equal
|
|
#:read-double-float-from-string
|
|
#:read-single-float-from-string
|
|
#:write-float
|
|
#:float-integer-value
|
|
#:write-hex
|
|
#:pprint-float
|
|
#:integer-float-value
|
|
#:signed-integer-value
|
|
;; macro-utilities.lisp
|
|
#:with-unique-names #:rebinding #:symbolicate #:symbolicate*
|
|
#:parse-body #:required-argument
|
|
;; time-utilities.lisp
|
|
#:format-iso8601-time
|
|
#:define-iso8601-time-format
|
|
#:list-iso8601-time-formats
|
|
#:query-performance-counter
|
|
#:query-performance-frequency
|
|
;; parsing-utilities.lisp
|
|
#:lexer-error
|
|
#:lexer-error-lexer
|
|
#:lexer-error-string
|
|
#:lexer-error-position
|
|
#:define-lexer
|
|
#:with-lexer
|
|
#:succeed
|
|
#:skip
|
|
#:fail
|
|
#:infix-to-prefix
|
|
#:generate-replacement-template
|
|
#:derive-new-pattern
|
|
;; printf.lisp
|
|
#:make-printf-format-parser
|
|
;; cmdline-utilities.lisp
|
|
#:get-command-line-arguments
|
|
#:command-line-argument-error
|
|
#:command-line-argument-error-command-line
|
|
#:command-line-argument-error-remaining-arguments
|
|
#:parse-command-line-arguments
|
|
#:parse-command-line-for-argument-list
|
|
#:call-with-parsed-arguments
|
|
#:call-with-parsed-command-line
|
|
#:with-parsed-arguments
|
|
#:with-parsed-command-line
|
|
#:&program
|
|
;; zip-utilities.lisp
|
|
#:zip-processing-warning
|
|
#:zip-processing-warning-pathname
|
|
#:zip-processing-error
|
|
#:zip-processing-error-pathname
|
|
#:is-zip-archive-p
|
|
#:read-zip-archive
|
|
#:zip-archive
|
|
#:zip-archive-p
|
|
#:zip-archive-entries
|
|
#:zip-entry
|
|
#:zip-entry-p
|
|
#:zip-entry-file-name
|
|
#:zip-entry-file-date
|
|
#:zip-entry-file-comment
|
|
#:zip-entry-file-offset
|
|
#:zip-entry-compression-method
|
|
#:zip-entry-crc-32
|
|
#:zip-entry-compressed-size
|
|
#:zip-entry-uncompressed-size
|
|
#:unzip-zip-entry-to-stream
|
|
#:unzip-zip-archive
|
|
;; aes-utilities.lisp
|
|
#:aes-processing-error
|
|
#:aes-processing-error-pathname
|
|
#:aes-encode-buffer
|
|
#:aes-encode-file
|
|
#:aes-decode-buffer
|
|
#:aes-decode-file
|
|
;; pipe-stream.lisp
|
|
#:lisp-pipe-stream
|
|
#:make-lisp-pipe-pair))
|
|
|
|
(defpackage #:pmsf-mop
|
|
(:documentation
|
|
"PMSF Utility package by Pierre R. Mai. See documentation for terms.")
|
|
(:import-from
|
|
#+sbcl #:sb-mop #+lispworks #:clos
|
|
.
|
|
#1=(;; Direct class accessors
|
|
#:class-default-initargs
|
|
#:class-direct-default-initargs
|
|
#:class-direct-slots
|
|
#:class-direct-subclasses
|
|
#:class-direct-superclasses
|
|
#:class-finalized-p
|
|
#:class-precedence-list
|
|
#:class-prototype
|
|
#:class-slots
|
|
;; Finalization
|
|
#:finalize-inheritance
|
|
#:validate-superclass
|
|
;; Slot-Definition accessors
|
|
#:slot-definition-allocation
|
|
#:slot-definition-initargs
|
|
#:slot-definition-initform
|
|
#:slot-definition-initfunction
|
|
#:slot-definition-location
|
|
#:slot-definition-name
|
|
#:slot-definition-readers
|
|
#:slot-definition-writers
|
|
#:slot-definition-type
|
|
#:direct-slot-definition-class
|
|
#:effective-slot-definition-class
|
|
;; Slot accessors
|
|
#:slot-value-using-class
|
|
#:slot-boundp-using-class
|
|
#:slot-makunbound-using-class))
|
|
(:export
|
|
.
|
|
#1#))
|
|
|
|
(defpackage #:pmsf-pecoff
|
|
(:documentation
|
|
"PMSF PE/COFF Utility package by Pierre R. Mai. See documentation for terms.")
|
|
(:nicknames #:pecoff)
|
|
(:use #:common-lisp #:pmsf-lib)
|
|
(:export
|
|
;; Conditions
|
|
#:pecoff-processing-error
|
|
#:pecoff-processing-error-pathname
|
|
;; Structures
|
|
#:file
|
|
#:file-mz-stub
|
|
#:file-signature
|
|
#:file-header
|
|
#:file-optional-header
|
|
#:file-sections
|
|
#:file-raw-data
|
|
#:mz-stub
|
|
#:mz-stub-raw-magic
|
|
#:mz-stub-pecoff-offset
|
|
#:mz-stub-raw-data
|
|
#:+header-machine-type-i386+
|
|
#:+header-machine-type-amd64+
|
|
#:+header-machine-type-arm+
|
|
#:+header-machine-type-thumb+
|
|
#:+header-machine-type-armnt+
|
|
#:+header-machine-type-arm64+
|
|
#:header
|
|
#:header-machine-type
|
|
#:header-number-of-sections
|
|
#:header-time-date-stamp
|
|
#:header-offset-to-symbol-table
|
|
#:header-number-of-symbols
|
|
#:header-size-of-optional-header
|
|
#:header-characteristics
|
|
#:optional-header
|
|
#:optional-header-linker-major-version
|
|
#:optional-header-linker-minor-version
|
|
#:optional-header-size-of-code
|
|
#:optional-header-size-of-initialized-data
|
|
#:optional-header-size-of-uninitialized-data
|
|
#:optional-header-address-of-entry-point
|
|
#:optional-header-base-of-code
|
|
#:optional-header-image-base
|
|
#:optional-header-section-alignment
|
|
#:optional-header-file-alignment
|
|
#:optional-header-major-os-version
|
|
#:optional-header-minor-os-version
|
|
#:optional-header-major-image-version
|
|
#:optional-header-minor-image-version
|
|
#:optional-header-major-subsystem-version
|
|
#:optional-header-minor-subsystem-version
|
|
#:optional-header-win32-version-value
|
|
#:optional-header-size-of-image
|
|
#:optional-header-size-of-headers
|
|
#:optional-header-checksum
|
|
#:optional-header-subsystem
|
|
#:optional-header-dll-characteristics
|
|
#:optional-header-size-of-stack-reserve
|
|
#:optional-header-size-of-stack-commit
|
|
#:optional-header-size-of-heap-reserve
|
|
#:optional-header-size-of-heap-commit
|
|
#:optional-header-loader-flags
|
|
#:optional-header-number-of-rva-and-sizes
|
|
#:optional-header-data-directories
|
|
#:data-directory
|
|
#:data-directory-virtual-address
|
|
#:data-directory-size
|
|
#:optional-header-pe32
|
|
#:optional-header-base-of-data
|
|
#:optional-header-pe32+
|
|
#:section
|
|
#:section-name
|
|
#:section-virtual-size
|
|
#:section-virtual-address
|
|
#:section-size-of-raw-data
|
|
#:section-pointer-to-raw-data
|
|
#:section-pointer-to-relocations
|
|
#:section-pointer-to-line-numbers
|
|
#:section-number-of-relocations
|
|
#:section-number-of-line-numbers
|
|
#:section-characteristics
|
|
#:section-raw-data
|
|
#:export-directory
|
|
#:export-directory-export-flags
|
|
#:export-directory-time-date-stamp
|
|
#:export-directory-major-version
|
|
#:export-directory-minor-version
|
|
#:export-directory-name-rva
|
|
#:export-directory-name
|
|
#:export-directory-ordinal-name
|
|
#:export-directory-address-table-entries
|
|
#:export-directory-name-table-entries
|
|
#:export-directory-address-table-rva
|
|
#:export-directory-name-table-rva
|
|
#:export-directory-ordinal-table-rva
|
|
#:export-directory-address-table
|
|
#:export-directory-name-table
|
|
#:export-directory-ordinal-table
|
|
#:export-directory-raw-data
|
|
;; Parsing of Additional Information
|
|
#:get-string-from-rva
|
|
#:access-data-directory-contents
|
|
#:parse-export-directory
|
|
;; I/O
|
|
#:read-image-file
|
|
#:write-image-file))
|