(defun epg-make-data-from-file (file)
"Make a data object from FILE."
- (vector file nil))
+ (cons 'epg-data (vector file nil)))
(defun epg-make-data-from-string (string)
"Make a data object from STRING."
- (vector nil string))
+ (cons 'epg-data (vector nil string)))
(defun epg-data-file (data)
"Return the file of DATA."
- (aref data 0))
+ (unless (eq (car data) 'epg-data)
+ (signal 'wrong-type-argument (list 'epg-data-p data)))
+ (aref (cdr data) 0))
(defun epg-data-string (data)
"Return the string of DATA."
- (aref data 1))
+ (unless (eq (car data) 'epg-data)
+ (signal 'wrong-type-argument (list 'epg-data-p data)))
+ (aref (cdr data) 1))
(defun epg-make-context (&optional protocol armor textmode include-certs
cipher-algorithm digest-algorithm
compress-algorithm)
"Return a context object."
- (vector protocol armor textmode include-certs
- cipher-algorithm digest-algorithm compress-algorithm
- #'epg-passphrase-callback-function
- #'epg-progress-callback-function
- nil nil nil nil))
+ (cons 'epg-context
+ (vector protocol armor textmode include-certs
+ cipher-algorithm digest-algorithm compress-algorithm
+ #'epg-passphrase-callback-function
+ #'epg-progress-callback-function
+ nil nil nil nil)))
(defun epg-context-protocol (context)
"Return the protocol used within CONTEXT."
- (aref context 0))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 0))
(defun epg-context-armor (context)
"Return t if the output shouled be ASCII armored in CONTEXT."
- (aref context 1))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 1))
(defun epg-context-textmode (context)
"Return t if canonical text mode should be used in CONTEXT."
- (aref context 2))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 2))
(defun epg-context-include-certs (context)
"Return how many certificates should be included in an S/MIME signed
message."
- (aref context 3))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 3))
(defun epg-context-cipher-algorithm (context)
"Return the cipher algorithm in CONTEXT."
- (aref context 4))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 4))
(defun epg-context-digest-algorithm (context)
"Return the digest algorithm in CONTEXT."
- (aref context 5))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 5))
(defun epg-context-compress-algorithm (context)
"Return the compress algorithm in CONTEXT."
- (aref context 6))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 6))
(defun epg-context-passphrase-callback (context)
"Return the function used to query passphrase."
- (aref context 7))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 7))
(defun epg-context-progress-callback (context)
"Return the function which handles progress update."
- (aref context 8))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 8))
(defun epg-context-signers (context)
"Return the list of key-id for singning."
- (aref context 9))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 9))
(defun epg-context-process (context)
"Return the process object of `epg-gpg-program'.
This function is for internal use only."
- (aref context 10))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 10))
(defun epg-context-output-file (context)
"Return the output file of `epg-gpg-program'.
This function is for internal use only."
- (aref context 11))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 11))
(defun epg-context-result (context)
"Return the result of the previous cryptographic operation."
- (aref context 12))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aref (cdr context) 12))
(defun epg-context-set-protocol (context protocol)
"Set the protocol used within CONTEXT."
- (aset context 0 protocol))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 0 protocol))
(defun epg-context-set-armor (context armor)
"Specify if the output shouled be ASCII armored in CONTEXT."
- (aset context 1 armor))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 1 armor))
(defun epg-context-set-textmode (context textmode)
"Specify if canonical text mode should be used in CONTEXT."
- (aset context 2 textmode))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 2 textmode))
(defun epg-context-set-include-certs (context include-certs)
"Set how many certificates should be included in an S/MIME signed message."
- (aset context 3 include-certs))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 3 include-certs))
(defun epg-context-set-cipher-algorithm (context cipher-algorithm)
"Set the cipher algorithm in CONTEXT."
- (aset context 4 cipher-algorithm))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 4 cipher-algorithm))
(defun epg-context-set-digest-algorithm (context digest-algorithm)
"Set the digest algorithm in CONTEXT."
- (aset context 5 digest-algorithm))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 5 digest-algorithm))
(defun epg-context-set-compress-algorithm (context compress-algorithm)
"Set the compress algorithm in CONTEXT."
- (aset context 6 compress-algorithm))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 6 compress-algorithm))
(defun epg-context-set-passphrase-callback (context
passphrase-callback)
"Set the function used to query passphrase."
- (aset context 7 passphrase-callback))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 7 passphrase-callback))
(defun epg-context-set-progress-callback (context progress-callback)
"Set the function which handles progress update."
- (aset context 8 progress-callback))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 8 progress-callback))
(defun epg-context-set-signers (context signers)
"Set the list of key-id for singning."
- (aset context 9 signers))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 9 signers))
(defun epg-context-set-process (context process)
"Set the process object of `epg-gpg-program'.
This function is for internal use only."
- (aset context 10 process))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 10 process))
(defun epg-context-set-output-file (context output-file)
"Set the output file of `epg-gpg-program'.
This function is for internal use only."
- (aset context 11 output-file))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 11 output-file))
(defun epg-context-set-result (context result)
"Set the result of the previous cryptographic operation."
- (aset context 12 result))
+ (unless (eq (car context) 'epg-context)
+ (signal 'wrong-type-argument (list 'epg-context-p context)))
+ (aset (cdr context) 12 result))
(defun epg-make-signature (status key-id user-id)
"Return a signature object."
- (vector status key-id user-id nil nil))
+ (cons 'epg-signature (vector status key-id user-id nil nil)))
(defun epg-signature-status (signature)
"Return the status code of SIGNATURE."
- (aref signature 0))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aref (cdr signature) 0))
(defun epg-signature-key-id (signature)
"Return the key-id of SIGNATURE."
- (aref signature 1))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aref (cdr signature) 1))
(defun epg-signature-user-id (signature)
"Return the user-id of SIGNATURE."
- (aref signature 2))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aref (cdr signature) 2))
(defun epg-signature-validity (signature)
"Return the validity of SIGNATURE."
- (aref signature 3))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aref (cdr signature) 3))
(defun epg-signature-fingerprint (signature)
"Return the fingerprint of SIGNATURE."
- (aref signature 4))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aref (cdr signature) 4))
(defun epg-signature-set-status (signature status)
"Set the status code of SIGNATURE."
- (aset signature 0 status))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aset (cdr signature) 0 status))
(defun epg-signature-set-key-id (signature key-id)
"Set the key-id of SIGNATURE."
- (aset signature 1 key-id))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aset (cdr signature) 1 key-id))
(defun epg-signature-set-user-id (signature user-id)
"Set the user-id of SIGNATURE."
- (aset signature 2 user-id))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aset (cdr signature) 2 user-id))
(defun epg-signature-set-validity (signature validity)
"Set the validity of SIGNATURE."
- (aset signature 3 validity))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aset (cdr signature) 3 validity))
(defun epg-signature-set-fingerprint (signature fingerprint)
"Set the fingerprint of SIGNATURE."
- (aset signature 4 fingerprint))
+ (unless (eq (car signature) 'epg-signature)
+ (signal 'wrong-type-argument (list 'epg-signature-p signature)))
+ (aset (cdr signature) 4 fingerprint))
(defun epg-make-key (owner-trust)
"Return a key object."
- (vector owner-trust nil nil))
+ (cons 'epg-key (vector owner-trust nil nil)))
(defun epg-key-owner-trust (key)
"Return the owner trust of KEY."
- (aref key 0))
+ (unless (eq (car key) 'epg-key)
+ (signal 'wrong-type-argument (list 'epg-key-p key)))
+ (aref (cdr key) 0))
(defun epg-key-sub-key-list (key)
"Return the sub key list of KEY."
- (aref key 1))
+ (unless (eq (car key) 'epg-key)
+ (signal 'wrong-type-argument (list 'epg-key-p key)))
+ (aref (cdr key) 1))
(defun epg-key-user-id-list (key)
"Return the user ID list of KEY."
- (aref key 2))
+ (unless (eq (car key) 'epg-key)
+ (signal 'wrong-type-argument (list 'epg-key-p key)))
+ (aref (cdr key) 2))
(defun epg-key-set-sub-key-list (key sub-key-list)
"Set the sub key list of KEY."
- (aset key 1 sub-key-list))
+ (unless (eq (car key) 'epg-key)
+ (signal 'wrong-type-argument (list 'epg-key-p key)))
+ (aset (cdr key) 1 sub-key-list))
(defun epg-key-set-user-id-list (key user-id-list)
"Set the user ID list of KEY."
- (aset key 2 user-id-list))
+ (unless (eq (car key) 'epg-key)
+ (signal 'wrong-type-argument (list 'epg-key-p key)))
+ (aset (cdr key) 2 user-id-list))
(defun epg-make-sub-key (validity capability secret algorithm length id
creation-time expiration-time)
"Return a sub key object."
- (vector validity capability secret algorithm length id creation-time
- expiration-time nil))
+ (cons 'epg-sub-key
+ (vector validity capability secret algorithm length id creation-time
+ expiration-time nil)))
(defun epg-sub-key-validity (sub-key)
"Return the validity of SUB-KEY."
- (aref sub-key 0))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 0))
(defun epg-sub-key-capability (sub-key)
"Return the capability of SUB-KEY."
- (aref sub-key 1))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 1))
(defun epg-sub-key-secret (sub-key)
"Return non-nil if SUB-KEY is a secret key."
- (aref sub-key 2))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 2))
(defun epg-sub-key-algorithm (sub-key)
"Return the algorithm of SUB-KEY."
- (aref sub-key 3))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 3))
(defun epg-sub-key-length (sub-key)
"Return the length of SUB-KEY."
- (aref sub-key 4))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 4))
(defun epg-sub-key-id (sub-key)
"Return the ID of SUB-KEY."
- (aref sub-key 5))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 5))
(defun epg-sub-key-creation-time (sub-key)
"Return the creation time of SUB-KEY."
- (aref sub-key 6))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 6))
(defun epg-sub-key-expiration-time (sub-key)
"Return the expiration time of SUB-KEY."
- (aref sub-key 7))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 7))
(defun epg-sub-key-fingerprint (sub-key)
"Return the fingerprint of SUB-KEY."
- (aref sub-key 8))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aref (cdr sub-key) 8))
(defun epg-sub-key-set-fingerprint (sub-key fingerprint)
"Set the fingerprint of SUB-KEY.
This function is for internal use only."
- (aset sub-key 8 fingerprint))
+ (unless (eq (car sub-key) 'epg-sub-key)
+ (signal 'wrong-type-argument (list 'epg-sub-key-p sub-key)))
+ (aset (cdr sub-key) 8 fingerprint))
(defun epg-make-user-id (validity name)
"Return a user ID object."
- (vector validity name nil))
+ (cons 'epg-user-id (vector validity name nil)))
(defun epg-user-id-validity (user-id)
"Return the validity of USER-ID."
- (aref user-id 0))
+ (unless (eq (car user-id) 'epg-user-id)
+ (signal 'wrong-type-argument (list 'epg-user-id-p user-id)))
+ (aref (cdr user-id) 0))
(defun epg-user-id-name (user-id)
"Return the name of USER-ID."
- (aref user-id 1))
+ (unless (eq (car user-id) 'epg-user-id)
+ (signal 'wrong-type-argument (list 'epg-user-id-p user-id)))
+ (aref (cdr user-id) 1))
(defun epg-user-id-signature-list (user-id)
"Return the signature list of USER-ID."
- (aref user-id 2))
+ (unless (eq (car user-id) 'epg-user-id)
+ (signal 'wrong-type-argument (list 'epg-user-id-p user-id)))
+ (aref (cdr user-id) 2))
(defun epg-user-id-set-signature-list (user-id signature-list)
"Set the signature list of USER-ID."
- (aset user-id 2 signature-list))
+ (unless (eq (car user-id) 'epg-user-id)
+ (signal 'wrong-type-argument (list 'epg-user-id-p user-id)))
+ (aset (cdr user-id) 2 signature-list))
(defun epg-context-result-for (context name)
(cdr (assq name (epg-context-result context))))