(index ("message-digest-primitive?" 0) ("check-message-digest-primitive" 0) ("error-message-digest-primitive" 0) ("message-digest-primitive-context-info" 294) ("message-digest-primitive-digest-length" 294) ("message-digest-primitive-init" 294) ("message-digest-primitive-update" 294) ("message-digest-primitive-raw-update" 294) ("message-digest-primitive-final" 294) ("message-digest-primitive-block-length" 294) ("message-digest-primitive-name" 294) ("make-message-digest-primitive" 1157) ("message-digest-result-form" 4076) ("initialize-message-digest" 4338) ("message-digest?" 4624) ("check-message-digest" 4704) ("error-message-digest" 4704) ("message-digest-algorithm" 4870) ("finalize-message-digest" 5161) ("finalize-message-digest!" 5627) ("setup-message-digest-buffer!" 6377) ("message-digest-chunk-port-read-maker" 6563) ("message-digest-chunk-fileno-read-maker" 7096) ("message-digest-chunk-size" 7611) ("message-digest-chunk-converter" 7965) ("message-digest-chunk-read-maker" 8504) ("message-digest-update-blob" 8695) ("message-digest-update-string" 8910) ("message-digest-string" 9133) ("message-digest-blob" 9539) ("message-digest-string!" 9937) ("message-digest-blob!" 10255) ("message-digest-update-substring" 10567) ("message-digest-update-char-u8" 10769) ("message-digest-update-char" 10967) ("message-digest-update-char-be" 11263) ("message-digest-update-char-le" 11484) ("message-digest-update-u8" 11708) ("message-digest-update-u16" 11873) ("message-digest-update-u16-be" 12145) ("message-digest-update-u16-le" 12342) ("message-digest-update-u32" 12542) ("message-digest-update-u32-be" 12814) ("message-digest-update-u32-le" 13011) ("message-digest-update-u64" 13211) ("message-digest-update-u64-be" 13483) ("message-digest-update-u64-le" 13680) ("message-digest-update-file" 13880) ("message-digest-update-procedure" 14065) ("message-digest-update-port" 14320) ("message-digest-update-object" 14645) ("message-digest-object" 15258) ("message-digest-file" 15653) ("message-digest-port" 16041) ("message-digest-object!" 16424) ("message-digest-file!" 16731) ("message-digest-port!" 17031) ("message-digest-update-u8vector" 17326) ("message-digest-u8vector" 17557) ("message-digest-u8vector!" 17960) ("message-digest-update-subu8vector" 18275) ("message-digest-update-bytevector" 18485) ("digest-output-port?" 18851) ("check-digest-output-port" 18851) ("error-digest-output-port" 18851) ("digest-output-port-name" 18851) ("open-output-digest" 19193) ("get-output-digest" 19410) ("call-with-output-digest" 19701) ("with-output-to-digest" 20059))
(def (sig (procedure "(message-digest-primitive? OBJ) -> boolean" (id message-digest-primitive?)) (procedure "(check-message-digest-primitive LOC OBJ [NAM])" (id check-message-digest-primitive)) (procedure "(error-message-digest-primitive LOC OBJ [NAM])" (id error-message-digest-primitive))))
(def (sig (procedure "(message-digest-primitive-context-info PRIM) -> *" (id message-digest-primitive-context-info)) (procedure "(message-digest-primitive-digest-length PRIM) -> fixnum" (id message-digest-primitive-digest-length)) (procedure "(message-digest-primitive-init PRIM) -> procedure" (id message-digest-primitive-init)) (procedure "(message-digest-primitive-update PRIM) -> procedure" (id message-digest-primitive-update)) (procedure "(message-digest-primitive-raw-update PRIM) -> (or #f procedure)" (id message-digest-primitive-raw-update)) (procedure "(message-digest-primitive-final PRIM) -> procedure" (id message-digest-primitive-final)) (procedure "(message-digest-primitive-block-length PRIM) -> fixnum" (id message-digest-primitive-block-length)) (procedure "(message-digest-primitive-name PRIM) -> symbol" (id message-digest-primitive-name))))
(def (sig (procedure "(make-message-digest-primitive CONTEXT-INFO DIGEST-SIZE INIT! UPDATE! FINAL! [BLOCK-LENGTH] [NAME] [RAW-UPDATE!]) -> message-digest-primitive" (id make-message-digest-primitive))) (p "Create a " (tt "message-digest-primitive") " object, defining a message digest algorithm.") (p "The processing of a message digest is split into three phases: initialization, update, & finalization. These are represented by procedures: " (tt "INIT!") ", " (tt "UPDATE!") "/" (tt "RAW-UPDATE!") ", & " (tt "FINAL!") ", respectively.") (dl (dt (tt "CONTEXT-INFO")) (dd (tt "(or (CONTEXT-INFO -> context-object) positive-fixnum)"))) (ul (li (tt "(CONTEXT-INFO -> CONTEXT)") " ; returns the " (tt "context-object") ", which should be unique. At least the object cannot be shared with another " (i "activated") " primitive.") (li (tt "positive-fixnum") " : a memory-block of length " (tt "CONTEXT-INFO") " bytes is allocated; the memory is automatically free'ed. The " (tt "context-object") " here is a {pointer}} to a block of uninitialized memory.")) (dl (dt (tt "DIGEST-SIZE")) (dd (tt "positive-fixnum"))) (ul (li "The count of bytes in the result.")) (dl (dt (tt "BLOCK-LENGTH")) (dd (tt "positive-fixnum") " ; default " (tt "4"))) (ul (li "The primitive's accumulator length in bytes.")) (dl (dt (tt "NAME")) (dd (tt "(or symbol string)") " ; default " (tt "uninterned-symbol") ".")) (ul (li "Identifies the message digest algorithm. The suggested form is " (tt "<algorithm>-primitive") ", " (tt "'md5-primitive") " for example.")) (dl (dt (tt "INIT!")) (dd (tt "(CONTEXT -> void))"))) (ul (li "sets up the " (tt "CONTEXT") ".")) (dl (dt (tt "UPDATE!")) (dd (tt "(CONTEXT SOURCE COUNT -> void))") ".")) (ul (li "Must accumulate the " (tt "SOURCE") ", beginning at " (tt "0") ", for " (tt "COUNT") " bytes. Will be called zero or more times. " (tt "SOURCE") " is usually an " (tt "(or blob string)") " object.") (li (tt "COUNT") " is the actual number of bytes in the " (tt "SOURCE") ". Only the first " (tt "COUNT") " bytes in the " (tt "SOURCE") " are valid. " (tt "COUNT") " is a " (tt "positive-fixnum") ".")) (dl (dt (tt "RAW-UPDATE!")) (dd (tt "(CONTEXT POINTER COUNT -> void))") ".")) (ul (li "Must accumulate the memory at " (tt "POINTER") ", beginning at " (tt "0") ", for " (tt "COUNT") " bytes. Will be called zero or more times.") (li (tt "COUNT") " is the actual number of bytes in the " (tt "SOURCE") ". Only the first " (tt "COUNT") " bytes in the memory at " (tt "POINTER") " are valid. " (tt "COUNT") " is a " (tt "positive-fixnum") ", limited by " (tt "(message-digest-chunk-size)") ".")) (dl (dt (tt "FINAL!")) (dd (tt "(CONTEXT DESTINATION -> void))") ".")) (ul (li "Must build the message-digest result in the supplied result " (tt "DESTINATION") ", which will have a byte-count of at least " (tt "DIGEST-SIZE") ". " (tt "DESTINATION") " is usually an " (tt "(or blob string)") " object.")))
(def (sig (parameter "(message-digest-result-form [RESULT-FORM]) -> symbol" (id message-digest-result-form))) (p "The initial " (tt "RESULT-FORM") " value is " (tt "'hex-string") ".") (p "A " (tt "RESULT-FORM") " of " (tt "#f") " resets to the initial value."))
(def (sig (procedure "(initialize-message-digest PRIM) -> message-digest" (id initialize-message-digest))) (p "Returns a new, initialized, " (tt "message-digest") " for the supplied algorithm " (tt "PRIM") ".") (p (i "Initialized") " here means the intialization phase is completed."))
(def (sig (procedure "(message-digest? OBJ) -> boolean" (id message-digest?))))
(def (sig (procedure "(check-message-digest LOC OBJ [NAM])" (id check-message-digest)) (procedure "(error-message-digest LOC OBJ [NAM])" (id error-message-digest))))
(def (sig (procedure "(message-digest-algorithm DIGEST) -> message-digest-primitive" (id message-digest-algorithm))) (p "Returns the message digest algorithm used by this " (tt "DIGEST") ".") (p "Mostly for use when developing an update operation.") (p (i "Do not mess with this object!")))
(def (sig (procedure "(finalize-message-digest DIGEST [RESULT-FORM]) -> message-digest-result-type" (id finalize-message-digest))) (p "Finalize the " (tt "DIGEST") " and return the " (tt "result") " in the " (tt "RESULT-FORM") ".") (dl (dt (tt "RESULT-FORM")) (dd (tt "message-digest-result-form") " ; default " (tt "(message-digest-result-form)") ".")) (p "Finalize here means the finalization phase is completed. The " (tt "DIGEST") " is not in a useful state."))
(def (sig (procedure "(finalize-message-digest! DIGEST BUFFER) -> message-digest-result-type" (id finalize-message-digest!))) (p "Finalize the " (tt "DIGEST") " and return the " (tt "result") " in the " (tt "BUFFER") ".") (p "The " (tt "BUFFER") " must be a " (tt "string") ", " (tt "blob") ", or " (tt "u8vector") " of sufficient size; checked at runtime. Does not perform any initialization of the " (tt "BUFFER") ".") (p "The " (tt "result") " starts at the beginning of the " (tt "BUFFER") ", and runs for " (tt "(message-digest-primitive-digest-length (message-digest-algorithm DIGEST))") " bytes. Result is binary " (b "only") ".") (p "Finalize here means the finalization phase is completed. The " (tt "DIGEST") " is not in a useful state."))
(def (sig (procedure "(setup-message-digest-buffer! DIGEST SIZE)" (id setup-message-digest-buffer!))) (p "Ensure the " (tt "DIGEST") " has a buffer of at least " (tt "SIZE") " bytes."))
(def (sig (parameter "(message-digest-chunk-port-read-maker [CONSTRUCTOR]) -> procedure" (id message-digest-chunk-port-read-maker))) (p "Supplies the procedure used to create an input procedure.") (p (tt "CONSTRUCTOR") " is a " (tt "(INPUT-PORT #!optional SIZE) -> (-> byte-source)") ". The first argument is the chunk source port and the second argument is the size of chunks.") (p "The default " (tt "CONSTRUCTOR") " will return a procedure that reads from " (tt "INPUT-PORT") " in " (tt "(message-digest-chunk-size)") " bytes."))
(def (sig (parameter "(message-digest-chunk-fileno-read-maker [CONSTRUCTOR]) -> procedure" (id message-digest-chunk-fileno-read-maker))) (p "Supplies the procedure used to create an input procedure.") (p (tt "CONSTRUCTOR") " is a " (tt "FD #!optional SIZE) -> (-> byte-source))") ". The first argument is the chunk source open fileno and the second argument is the size of chunks.") (p "The default " (tt "CONSTRUCTOR") " will return a procedure that reads from " (tt "FD") " in " (tt "(file-size FD)") " bytes."))
(def (sig (parameter "(message-digest-chunk-size [SIZE]) -> positive-integer" (id message-digest-chunk-size))) (p "The number of bytes to read from a binary-stream during the message-digest update phase. Used by the default " (tt "message-digest-chunk-read-maker") ".") (p (tt "SIZE") " is a " (tt "positive-integer") ", with default " (tt "1024") "."))
(def (sig (parameter "(message-digest-chunk-converter [CONVERTER]) -> (or #f procedure)" (id message-digest-chunk-converter))) (p "The procedure used to translate an arbitrary object into something suitable for an " (tt "UPDATE") " procedure. See " (tt "make-message-digest-primitive") ".") (p (tt "CONVERTER") " is a " (tt "(* -> byte-source)") " or " (tt "#f") ".") (p "The default " (tt "CONVERTER") " is " (tt "#f") ".") (p "Should the " (tt "CONVERTER") " be " (tt "#f") " or return " (tt "#f") " then no translation is attempted."))
(def (sig (parameter "(message-digest-chunk-read-maker [CONSTRUCTOR]) -> procedure" (id message-digest-chunk-read-maker))) (p "Synonym for " (tt "message-digest-chunk-port-read-maker") "."))
(def (sig (procedure "(message-digest-update-blob DIGEST BLOB [START [END]])" (id message-digest-update-blob))) (p "Update the " (tt "DIGEST") " with a " (tt "BLOB") ", optionally sliced by " (tt "START END") "."))
(def (sig (procedure "(message-digest-update-string DIGEST STRING [START [END]])" (id message-digest-update-string))) (p "Update the " (tt "DIGEST") " with a " (tt "STRING") ", optionally sliced by " (tt "START END") "."))
(def (sig (procedure "(message-digest-string PRIM STRING [RESULT-FORM [START [END]]]) -> message-digest-result-type" (id message-digest-string))) (p "Returns the " (tt "RESULT") " for the digest algorithm " (tt "PRIM") " applied to " (tt "STRING") ", optionally sliced by " (tt "START END") ", in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-blob PRIM BLOB [RESULT-FORM [START [END]]]) -> message-digest-result-type" (id message-digest-blob))) (p "Returns the " (tt "result") " for the digest algorithm " (tt "PRIM") " applied to " (tt "BLOB") ", optionally sliced by " (tt "START END") ", in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-string! PRIM STRING BUFFER [START [END]]) -> message-digest-result-type" (id message-digest-string!))) (p "Returns the " (tt "RESULT") " for the digest algorithm " (tt "PRIM") " applied to " (tt "STRING") ", optionally sliced by " (tt "START END") ", in the " (tt "BUFFER") "."))
(def (sig (procedure "(message-digest-blob! PRIM BLOB BUFFER [START [END]]) -> message-digest-result-type" (id message-digest-blob!))) (p "Returns the " (tt "result") " for the digest algorithm " (tt "PRIM") " applied to " (tt "BLOB") ", optionally sliced by " (tt "START END") ", in the " (tt "{BUFFER") "}."))
(def (sig (procedure "(message-digest-update-substring DIGEST STRING START END)" (id message-digest-update-substring))) (p "Update the " (tt "DIGEST") " with a substring " (tt "STRING START END") "."))
(def (sig (procedure "(message-digest-update-char-u8 DIGEST CHAR)" (id message-digest-update-char-u8))) (p "Update the " (tt "DIGEST") " with the low-order 8-bits of a character " (tt "CHAR") "."))
(def (sig (procedure "(message-digest-update-char DIGEST CHAR [ENDIAN])" (id message-digest-update-char))) (p "Update the " (tt "DIGEST") " with a the character " (tt "CHAR") " 32-bit integer value treated as " (tt "ENDIAN") ".") (p (tt "ENDIAN") " default is " (tt "(machine-byte-order)") "."))
(def (sig (procedure "(message-digest-update-char-be DIGEST CHAR)" (id message-digest-update-char-be))) (p "Update the " (tt "DIGEST") " with a the character " (tt "CHAR") " 32-bit integer value treated as big-endian."))
(def (sig (procedure "(message-digest-update-char-le DIGEST CHAR)" (id message-digest-update-char-le))) (p "Update the " (tt "DIGEST") " with a the character " (tt "CHAR") " 32-bit integer value treated as little-endian."))
(def (sig (procedure "(message-digest-update-u8 DIGEST U8)" (id message-digest-update-u8))) (p "Update the " (tt "DIGEST") " with an 8-bit integer " (tt "U8") "."))
(def (sig (procedure "(message-digest-update-u16 DIGEST U16 [ENDIAN])" (id message-digest-update-u16))) (p "Update the " (tt "DIGEST") " with a 16-bit integer " (tt "U16") " treated as " (tt "ENDIAN") ".") (p (tt "ENDIAN") " default is " (tt "(machine-byte-order)") "."))
(def (sig (procedure "(message-digest-update-u16-be DIGEST U16)" (id message-digest-update-u16-be))) (p "Update the " (tt "DIGEST") " with a 16-bit integer " (tt "U16") " treated as big-endian."))
(def (sig (procedure "(message-digest-update-u16-le DIGEST U16)" (id message-digest-update-u16-le))) (p "Update the " (tt "DIGEST") " with a 16-bit integer " (tt "U16") " treated as little-endian."))
(def (sig (procedure "(message-digest-update-u32 DIGEST U32 [ENDIAN])" (id message-digest-update-u32))) (p "Update the " (tt "DIGEST") " with a 32-bit integer " (tt "U32") " treated as " (tt "ENDIAN") ".") (p (tt "ENDIAN") " default is " (tt "(machine-byte-order)") "."))
(def (sig (procedure "(message-digest-update-u32-be DIGEST U32)" (id message-digest-update-u32-be))) (p "Update the " (tt "DIGEST") " with a 32-bit integer " (tt "U32") " treated as big-endian."))
(def (sig (procedure "(message-digest-update-u32-le DIGEST U32)" (id message-digest-update-u32-le))) (p "Update the " (tt "DIGEST") " with a 32-bit integer " (tt "U32") " treated as little-endian."))
(def (sig (procedure "(message-digest-update-u64 DIGEST U64 [ENDIAN])" (id message-digest-update-u64))) (p "Update the " (tt "DIGEST") " with a 64-bit integer " (tt "U64") " treated as " (tt "ENDIAN") ".") (p (tt "ENDIAN") " default is " (tt "(machine-byte-order)") "."))
(def (sig (procedure "(message-digest-update-u64-be DIGEST U64)" (id message-digest-update-u64-be))) (p "Update the " (tt "DIGEST") " with a 64-bit integer " (tt "U64") " treated as big-endian."))
(def (sig (procedure "(message-digest-update-u64-le DIGEST U64)" (id message-digest-update-u64-le))) (p "Update the " (tt "DIGEST") " with a 64-bit integer " (tt "U64") " treated as little-endian."))
(def (sig (procedure "(message-digest-update-file DIGEST FILENAME)" (id message-digest-update-file))) (p "Update the " (tt "DIGEST") " with the contents of file " (tt "FILENAME") "."))
(def (sig (procedure "(message-digest-update-procedure DIGEST THUNK)" (id message-digest-update-procedure))) (p "Update the " (tt "DIGEST") " with a " (tt "THUNK") " until it returns " (tt "#f") ".") (p (tt "THUNK") " is a " (tt "(-> byte-source)") "."))
(def (sig (procedure "(message-digest-update-port DIGEST INPUT-PORT)" (id message-digest-update-port))) (p "Update the " (tt "DIGEST") " with " (tt "byte-source") " from an " (tt "INPUT-PORT") " until " (tt "#!eof") " encountered.") (p "Uses the " (tt "message-digest-chunk-read-maker") " to create a reader for the port."))
(def (sig (procedure "(message-digest-update-object DIGEST SOURCE [START [END]])" (id message-digest-update-object))) (p "Update the " (tt "DIGEST") " with some " (tt "SOURCE") ".") (p (tt "SOURCE") " maybe") (dl (dt (tt "input-port")) (dd "as in " (tt "message-digest-update-port")) (dt (tt "procedure")) (dd "as in " (tt "message-digest-update-procedure")) (dt (tt "string")) (dt (tt "blob")) (dt (tt "srfi-4-vector")) (dt (tt "*")) (dd (tt "((message-digest-chunk-converter) SOURCE)") " -> " (tt "byte-source") ".")) (p "If " (tt "START END") " supplied, and possible, the " (tt "byte-source") " is sliced."))
(def (sig (procedure "(message-digest-object PRIM SOURCE [RESULT-FORM [START [END]]]) -> message-digest-result-type" (id message-digest-object))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "SOURCE") ", optionally sliced by " (tt "START END") ", in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-file PRIM FILENAME [RESULT-FORM]) -> message-digest-result-type" (id message-digest-file))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to the file " (tt "FILENAME") " in the " (tt "RESULT-FORM") ". Reads until " (tt "#!eof") " encountered.") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-port PRIM INPUT-PORT [RESULT-FORM]) -> message-digest-result-type" (id message-digest-port))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "INPUT-PORT") " in the " (tt "RESULT-FORM") ". Reads until " (tt "#!eof") " encountered.") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-object! PRIM SOURCE BUFFER [START [END]]) -> message-digest-result-type" (id message-digest-object!))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "SOURCE") ", optionally sliced by " (tt "START END") ", in the " (tt "BUFFER") "."))
(def (sig (procedure "(message-digest-file! PRIM FILENAME BUFFER) -> message-digest-result-type" (id message-digest-file!))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to the file " (tt "FILENAME") " in the " (tt "BUFFER") ". Reads until " (tt "#!eof") " encountered."))
(def (sig (procedure "(message-digest-port! PRIM INPUT-PORT BUFFER) -> message-digest-result-type" (id message-digest-port!))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "INPUT-PORT") " in the " (tt "BUFFER") ". Reads until " (tt "#!eof") " encountered."))
(def (sig (procedure "(message-digest-update-u8vector DIGEST U8VECTOR [START [END]])" (id message-digest-update-u8vector))) (p "Update the " (tt "DIGEST") " with a " (tt "U8VECTOR") ", optionally sliced by " (tt "START END") "."))
(def (sig (procedure "(message-digest-u8vector PRIM U8VECTOR [RESULT-FORM [START [END]]]) -> message-digest-result-type" (id message-digest-u8vector))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "U8VECTOR") ", optionally sliced by " (tt "START END") ", in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(message-digest-u8vector! PRIM U8VECTOR BUFFER [START [END]]) -> message-digest-result-type" (id message-digest-u8vector!))) (p "Returns the result for the digest algorithm " (tt "PRIM") " applied to " (tt "U8VECTOR") ", optionally sliced by " (tt "START END") ", in the " (tt "BUFFER") "."))
(def (sig (procedure "(message-digest-update-subu8vector DIGEST U8VECTOR START END)" (id message-digest-update-subu8vector))) (p "Update the " (tt "DIGEST") " with a subvector " (tt "U8VECTOR START END") "."))
(def (sig (procedure "(message-digest-update-bytevector DIGEST BYTEVECTOR [LENGTH])" (id message-digest-update-bytevector))) (p "Update the " (tt "DIGEST") " with the " (tt "BYTEVECTOR") ", a " (tt "blob") ", " (tt "string") ", or " (tt "srfi-4-vector") ".") (p "The " (tt "LENGTH") " is the byte count. Default is the size in bytes of the " (tt "BYTEVECTOR") "."))
(def (sig (procedure "(digest-output-port? OBJ) -> boolean" (id digest-output-port?)) (procedure "(check-digest-output-port LOC OBJ [NAM])" (id check-digest-output-port)) (procedure "(error-digest-output-port LOC OBJ [NAM])" (id error-digest-output-port)) (procedure "(digest-output-port-name PORT) -> string" (id digest-output-port-name))))
(def (sig (procedure "(open-output-digest PRIM) -> digest-output-port" (id open-output-digest))) (p "Returns a message digest output port for the supplied algorithm " (tt "PRIM") ".") (p "The initialization phase."))
(def (sig (procedure "(get-output-digest PORT [RESULT-FORM]) -> string" (id get-output-digest))) (p "Closes the " (tt "PORT") " and returns the result as a " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") ".") (p "The finalization phase."))
(def (sig (procedure "(call-with-output-digest PRIM PROC [RESULT-FORM]) -> message-digest-result-type" (id call-with-output-digest))) (p "Returns the result of the call of " (tt "PROC") " with an " (tt "open-output-digest") " for " (tt "PRIM") " in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
(def (sig (procedure "(with-output-to-digest PRIM THUNK [RESULT-FORM]) -> message-digest-result-type" (id with-output-to-digest))) (p "Invoke the procedure " (tt "THUNK") " with " (tt "(current-output-port)") " bound to a " (tt "digest-output-port") " and return in the " (tt "RESULT-FORM") ".") (p (tt "RESULT-FORM") " default is " (tt "(message-digest-result-form)") "."))
