- Publicity: Public Only All
tcllib-doc-procs.tcl
API-browser documentation for Tcllib commands and tDOM helpers used by OpenACS. Only already-provided packages and existing commands are documented. Documentation-only ad_proc declarations do not replace implementations. Declarations stay in this source file, not in interpreter-blueprint data.
- Location:
- packages/acs-tcl/tcl/tcllib-doc-procs.tcl
Procedures in this file
- acs::tcllib::document (private)
- acs::tcllib::register_documentation (private)
- base64::ADD (private)
- base64::decode (public)
- base64::encode (public)
- md5::md5 (public)
- mime::addr_domain (private)
- mime::addr_end (private)
- mime::addr_group (private)
- mime::addr_next (private)
- mime::addr_phrase (private)
- mime::addr_routeaddr (private)
- mime::addr_specification (private)
- mime::addr_x400 (private)
- mime::base64 (private)
- mime::buildmessage (public)
- mime::buildmessageaux (private)
- mime::finalize (public)
- mime::getbody (public)
- mime::getheader (public)
- mime::getproperty (public)
- mime::getsize (private)
- mime::initialize (public)
- mime::initializeaux (private)
- mime::md5 (private)
- mime::parseaddress (public)
- mime::parseaddressaux (private)
- mime::parsedatetime (public)
- mime::parselexeme (private)
- mime::parsepart (private)
- mime::parsetype (private)
- mime::qp_encode (private)
- mime::quoted-printable (private)
- mime::reversemapencoding (public)
- mime::setheader (public)
- mime::uniqueID (public)
- mime::word_encode (private)
- tdom::xmlReadFile (private)
- uri::join (public)
- uri::split (public)
Detailed information
acs::tcllib::document (private)
acs::tcllib::document package proc_name arguments documentation \
[ protection ]Register documentation for an existing command of an already-loaded Tcllib package, without replacing its implementation or existing docs.
- Parameters:
- package (required)
- Owning Tcllib package.
- proc_name (required)
- Fully qualified command name.
- arguments (required)
- Documented Tcl argument list.
- documentation (required)
- API-browser documentation text.
- protection (optional, defaults to
"public")- API-browser visibility, public or private.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
acs::tcllib::register_documentation (private)
acs::tcllib::register_documentation [ proc_name ]
Refresh documentation for already-loaded Tcllib and tDOM packages, optionally when metadata is requested for a command in uri, base64, mime, md5 or tdom. This procedure never requires a package or evaluates its loader.
- Parameters:
- proc_name (optional)
- Procedure name, or empty to refresh all declarations.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
base64::ADD (private)
base64::ADD x
Append a character to the pure-Tcl Base64 encoder's caller-owned output state, inserting line breaks as needed. This version-dependent helper requires its encoder's local variables and is not a standalone API.
- Parameters:
- x (required)
- Character to append.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
base64::decode (public)
base64::decode string
Decode standard Base64 text using Tcllib. Acceptance of malformed input depends on the loaded package version and implementation.
- Parameters:
- string (required)
- Base64-encoded input.
- Returns:
- Decoded binary data.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
base64::encode (public)
base64::encode [ args... ]
Encode binary data as standard Base64 using Tcllib.
- Returns:
- Base64-encoded text.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
md5::md5 (public)
md5::md5 [ args... ]
Compute an MD5 digest using the already-loaded Tcllib MD5 implementation. The default result is binary in MD5 2.x; -hex requests hexadecimal output.
- Returns:
- MD5 digest in the requested representation.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_domain (private)
mime::addr_domain token
Parse a domain using internal MIME address-parser state.
- Parameters:
- token (required)
- Internal address-parser token.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_end (private)
mime::addr_end token
Validate the end of an address using internal MIME parser state. Invalid trailing syntax raises an error.
- Parameters:
- token (required)
- Internal address-parser token.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_group (private)
mime::addr_group token
Parse an address group using internal MIME parser state.
- Parameters:
- token (required)
- Internal address-parser token.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_next (private)
mime::addr_next token
Advance an internal MIME address-parser token to the next address. This version-dependent helper updates parser state and is not a public API.
- Parameters:
- token (required)
- Internal address-parser token.
- Returns:
- 1 if another address was parsed, or 0 at the end of the list.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_phrase (private)
mime::addr_phrase token
Parse an address phrase using internal MIME parser state.
- Parameters:
- token (required)
- Internal address-parser token.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_routeaddr (private)
mime::addr_routeaddr token [ checkP ]
Parse a route address using internal MIME parser state.
- Parameters:
- token (required)
- Internal address-parser token.
- checkP (optional, defaults to
"1")- Whether to require a closing angle bracket.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_specification (private)
mime::addr_specification token
Parse the next address specification using the internal MIME parser state and lookahead. Invalid address syntax can raise an error. This version-dependent helper is not a public API.
- Parameters:
- token (required)
- Internal address-parser token.
- Returns:
- 1 if another address was parsed, or 0 at the end of the list.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::addr_x400 (private)
mime::addr_x400 mbox key
Extract a keyed attribute from an X.400 mailbox representation for the internal MIME address parser. This helper is not a public API.
- Parameters:
- mbox (required)
- X.400 mailbox representation.
- key (required)
- Attribute key to find, matched without case distinctions.
- Returns:
- Attribute value with surrounding quotes trimmed, or an empty string if the key is absent.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::base64 (private)
mime::base64 modeOption action separator chunk
Internal MIME adapter for Base64 encoding and decoding when Trf is absent. This helper is version-dependent and is not a standalone public API.
- Parameters:
- modeOption (required)
- Literal -mode argument.
- action (required)
- encode or decode.
- separator (required)
- Literal -- argument.
- chunk (required)
- Data to process.
- Returns:
- The encoded or decoded chunk.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::buildmessage (public)
mime::buildmessage token
Serialize a Tcllib MIME token, including its headers and body. This command is documented by Tcllib even though some versions do not export it from the mime namespace.
- Parameters:
- token (required)
- MIME token to serialize.
- Returns:
- The complete MIME message.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::buildmessageaux (private)
mime::buildmessageaux token
Internal recursive MIME message serializer used by mime::buildmessage. This helper is version-dependent and operates on MIME token state.
- Parameters:
- token (required)
- MIME token to serialize.
- Returns:
- Serialized MIME message content.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::finalize (public)
mime::finalize token [ args... ]
Release a Tcllib MIME token and its associated resources.
- Parameters:
- token (required)
- MIME token to release.
- Returns:
- The empty string.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::getbody (public)
mime::getbody token [ args... ]
Read the body of a Tcllib MIME token. The -decode option requests transfer decoding; -command enables callback-based delivery.
- Parameters:
- token (required)
- MIME token to read.
- Returns:
- The body, or the final callback result when -command is used.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::getheader (public)
mime::getheader token [ key ]
Read headers of a Tcllib MIME token. Repeated headers can have multiple values.
- Parameters:
- token (required)
- MIME token to inspect.
- key (optional)
- Header name, -names for header names, or empty for all headers.
- Returns:
- Matching header values, header names, or header name/value pairs.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::getproperty (public)
mime::getproperty token [ property ]
Read properties of a Tcllib MIME token, such as content, encoding, params, parts and size.
- Parameters:
- token (required)
- MIME token to inspect.
- property (optional)
- Property name, -names for property names, or empty for all properties.
- Returns:
- The property value, property names, or property name/value pairs.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::getsize (private)
mime::getsize token
Determine the size reported for a MIME token by mime::getproperty. This internal helper is version-dependent and is not a public API.
- Parameters:
- token (required)
- MIME token to inspect.
- Returns:
- The size reported for the MIME part.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::initialize (public)
mime::initialize [ args... ]
Create a Tcllib MIME token by parsing a message or constructing a part.
- Returns:
- A MIME token; release it with mime::finalize when finished.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::initializeaux (private)
mime::initializeaux token [ args... ]
Configure an allocated MIME token's internal state on behalf of mime::initialize. This helper is version-dependent, not a public API.
- Parameters:
- token (required)
- Allocated MIME token to configure.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::md5 (private)
mime::md5 separator string
Internal MIME adapter for computing a hexadecimal MD5 digest when Trf is absent. The ignored first positional parameter has a version-dependent name in Tcllib. This helper is not a public API.
- Parameters:
- separator (required)
- Literal -- argument, ignored by the adapter.
- string (required)
- Data to hash.
- Returns:
- Hexadecimal MD5 digest.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parseaddress (public)
mime::parseaddress string
Parse an email address list using Tcllib's MIME address parser.
- Parameters:
- string (required)
- Address list to parse.
- Returns:
- A list of address records represented as name/value lists.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parseaddressaux (private)
mime::parseaddressaux token string
Parse an address list using an internal MIME address-parser token. This helper is version-dependent and is not a public API.
- Parameters:
- token (required)
- Internal address-parser token.
- string (required)
- Address list to parse.
- Returns:
- Parsed address records as name/value lists.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parsedatetime (public)
mime::parsedatetime value property
Extract a property from an email date-time value using Tcllib.
- Parameters:
- value (required)
- Email date-time string, or -now for the current time.
- property (required)
- Requested property, such as clock, proper, year, mon or zone.
- Returns:
- The requested date-time property.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parselexeme (private)
mime::parselexeme token
Consume the next lexeme from an internal MIME address-parser token, updating its input, buffer and last-lexeme state. This version-dependent helper is not a public API.
- Parameters:
- token (required)
- Internal address-parser token.
- Returns:
- Lexeme type recognized by the parser.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parsepart (private)
mime::parsepart token
Parse a MIME part from its token's string or file input and populate the internal part state. Parsing errors are reported as Tcl errors. This version-dependent helper is not a public API.
- Parameters:
- token (required)
- MIME token containing the part to parse.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::parsetype (private)
mime::parsetype token string
Parse a Content-Type value for an internal MIME token.
- Parameters:
- token (required)
- MIME parser token.
- string (required)
- Content-Type value to parse.
- Returns:
- Content type and parameters as a two-element list.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::qp_encode (private)
mime::qp_encode string [ encoded_word ] [ no_softbreak ]
Encode quoted-printable content using a Tcllib MIME implementation helper. This non-exported helper is version-dependent.
- Parameters:
- string (required)
- Data to encode.
- encoded_word (optional, defaults to
"0")- Use encoded-word processing when true.
- no_softbreak (optional, defaults to
"0")- Suppress insertion of soft line breaks when true.
- Returns:
- Quoted-printable text.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::quoted-printable (private)
mime::quoted-printable modeOption action separator chunk
Internal MIME adapter for quoted-printable encoding and decoding when Trf is absent. This helper is version-dependent, not a public API.
- Parameters:
- modeOption (required)
- Literal -mode argument.
- action (required)
- encode or decode.
- separator (required)
- Literal -- argument.
- chunk (required)
- Data to process.
- Returns:
- The encoded or decoded chunk.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::reversemapencoding (public)
mime::reversemapencoding mimeType
Map a MIME charset name to the corresponding Tcl encoding name using Tcllib's case-insensitive mapping table.
- Parameters:
- mimeType (required)
- MIME charset name.
- Returns:
- The Tcl encoding name, or the empty string if no mapping is known.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::setheader (public)
mime::setheader token key value [ args... ]
Change a header of a Tcllib MIME token, subject to its restrictions on MIME-managed headers.
- Parameters:
- token (required)
- MIME token to modify.
- key (required)
- Header name.
- value (required)
- Header value.
- Returns:
- Previous values associated with the header.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
mime::uniqueID (public)
mime::uniqueID
Generate a MIME Content-ID using Tcllib's process ID, clock, hostname and counter. This is not a cryptographic random identifier.
- Returns:
- An identifier enclosed in angle brackets.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- acs_mail_lite_inbound_procs_check
mime::word_encode (private)
mime::word_encode charset method string [ args... ]
Encode an RFC 2047 header value using a Tcllib MIME implementation helper. This non-exported helper is version-dependent.
- Parameters:
- charset (required)
- MIME charset name.
- method (required)
- base64 or quoted-printable.
- string (required)
- Data to encode.
- Returns:
- Encoded header text.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
tdom::xmlReadFile (private)
tdom::xmlReadFile filename [ encodingString ]
Read XML file content through tDOM's internal encoding-aware file helper. This implementation helper is not a public API.
- Parameters:
- filename (required)
- XML file to read.
- encodingString (optional)
- Optional name of a caller variable receiving encoding information.
- Returns:
- File content read by the helper.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
uri::join (public)
uri::join [ args... ]
Construct a URI from Tcllib component name/value pairs. Accepted components and normalization depend on the selected scheme.
- Returns:
- The constructed URI.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
uri::split (public)
uri::split url [ defaultscheme ]
Split a URI into scheme-dependent component name/value pairs using Tcllib. The result is suitable for array set or dict operations. Parsing follows the package's configured URI quirk options.
- Parameters:
- url (required)
- URI to parse.
- defaultscheme (optional, defaults to
"http")- Scheme used when the URI has no scheme; defaults to http.
- Returns:
- Component names and values, including the scheme.
- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Content File Source
ad_library { API-browser documentation for Tcllib commands and tDOM helpers used by OpenACS. Only already-provided packages and existing commands are documented. Documentation-only ad_proc declarations do not replace implementations. Declarations stay in this source file, not in interpreter-blueprint data. } namespace eval ::acs::tcllib {} if {[namespace which ::acs::tcllib::register_documentation] eq ""} { ad_proc -private ::acs::tcllib::register_documentation {{proc_name ""}} { Refresh documentation for already-loaded Tcllib and tDOM packages, optionally when metadata is requested for a command in uri, base64, mime, md5 or tdom. This procedure never requires a package or evaluates its loader. @param proc_name Procedure name, or empty to refresh all declarations. } { if {$proc_name ne ""} { set name [string trimleft $proc_name :] set package [string trimleft [namespace qualifiers ::$name] :] if {$package ni {uri base64 mime md5 tdom} || [package provide $package] eq "" || [namespace which -command ::$name] eq "" || ([nsv_exists api_proc_doc $name] && [dict exists [nsv_get api_proc_doc $name] main])} { return } } # Sourcing keeps ad_proc's source attribution on this file, even # when registration was requested by a test or the calling-info scan. source [file join [acs_package_root_dir acs-tcl] tcl tcllib-doc-procs.tcl] } } if {[namespace which ::acs::tcllib::document] eq ""} { d_proc -private ::acs::tcllib::document { package proc_name arguments documentation {protection public} } { Register documentation for an existing command of an already-loaded Tcllib package, without replacing its implementation or existing docs. @param package Owning Tcllib package. @param proc_name Fully qualified command name. @param arguments Documented Tcl argument list. @param documentation API-browser documentation text. @param protection API-browser visibility, public or private. } { if {[package provide $package] eq "" || [namespace which -command $proc_name] eq ""} {return} set name [string trimleft $proc_name :] set previous {} if {[nsv_exists api_proc_doc $name]} { set previous [nsv_get api_proc_doc $name] if {[dict exists $previous main]} {return} } d_proc -$protection $proc_name $arguments $documentation - # Complete any partial entry without losing testcase/caller links. nsv_set api_proc_doc $name [dict merge $previous [nsv_get api_proc_doc $name]] set script [dict get [nsv_get api_proc_doc $name] script] if {![nsv_exists api_proc_doc_scripts $script] || $name ni [nsv_get api_proc_doc_scripts $script]} { nsv_lappend api_proc_doc_scripts $script $name } } } ::acs::tcllib::document uri ::uri::split {url {defaultscheme http}} { Split a URI into scheme-dependent component name/value pairs using Tcllib. The result is suitable for array set or dict operations. Parsing follows the package's configured URI quirk options. @param url URI to parse. @param defaultscheme Scheme used when the URI has no scheme; defaults to http. @return Component names and values, including the scheme. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/uri/uri.md } ::acs::tcllib::document uri ::uri::join {args} { Construct a URI from Tcllib component name/value pairs. Accepted components and normalization depend on the selected scheme. @param args Alternating component names and values, including scheme. @return The constructed URI. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/uri/uri.md } ::acs::tcllib::document base64 ::base64::encode {args} { Encode binary data as standard Base64 using Tcllib. @param args Optional -maxlen and -wrapchar values followed by the data. Defaults are 76 columns and a newline; -maxlen 0 disables wrapping. @return Base64-encoded text. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/base64/base64.md } ::acs::tcllib::document base64 ::base64::decode {string} { Decode standard Base64 text using Tcllib. Acceptance of malformed input depends on the loaded package version and implementation. @param string Base64-encoded input. @return Decoded binary data. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/base64/base64.md } ::acs::tcllib::document mime ::mime::initialize {args} { Create a Tcllib MIME token by parsing a message or constructing a part. @param args Options including -file, -string or -parts; construction can specify -canonical type/subtype, -param, -header and -encoding. @return A MIME token; release it with mime::finalize when finished. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::finalize {token args} { Release a Tcllib MIME token and its associated resources. @param token MIME token to release. @param args Optional -subordinates all, dynamic or none; default is dynamic. @return The empty string. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::getproperty {token {property {}}} { Read properties of a Tcllib MIME token, such as content, encoding, params, parts and size. @param token MIME token to inspect. @param property Property name, -names for property names, or empty for all properties. @return The property value, property names, or property name/value pairs. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::getheader {token {key {}}} { Read headers of a Tcllib MIME token. Repeated headers can have multiple values. @param token MIME token to inspect. @param key Header name, -names for header names, or empty for all headers. @return Matching header values, header names, or header name/value pairs. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::setheader {token key value args} { Change a header of a Tcllib MIME token, subject to its restrictions on MIME-managed headers. @param token MIME token to modify. @param key Header name. @param value Header value. @param args Optional -mode write, append or delete; default is write. @return Previous values associated with the header. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::getbody {token args} { Read the body of a Tcllib MIME token. The -decode option requests transfer decoding; -command enables callback-based delivery. @param token MIME token to read. @param args Optional -decode, -command callback and -blocksize octets. @return The body, or the final callback result when -command is used. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::parseaddress {string} { Parse an email address list using Tcllib's MIME address parser. @param string Address list to parse. @return A list of address records represented as name/value lists. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::parsedatetime {value property} { Extract a property from an email date-time value using Tcllib. @param value Email date-time string, or -now for the current time. @param property Requested property, such as clock, proper, year, mon or zone. @return The requested date-time property. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::uniqueID {} { Generate a MIME Content-ID using Tcllib's process ID, clock, hostname and counter. This is not a cryptographic random identifier. @return An identifier enclosed in angle brackets. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::buildmessage {token} { Serialize a Tcllib MIME token, including its headers and body. This command is documented by Tcllib even though some versions do not export it from the mime namespace. @param token MIME token to serialize. @return The complete MIME message. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::qp_encode {string {encoded_word 0} {no_softbreak 0}} { Encode quoted-printable content using a Tcllib MIME implementation helper. This non-exported helper is version-dependent. @param string Data to encode. @param encoded_word Use encoded-word processing when true. @param no_softbreak Suppress insertion of soft line breaks when true. @return Quoted-printable text. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::word_encode {charset method string args} { Encode an RFC 2047 header value using a Tcllib MIME implementation helper. This non-exported helper is version-dependent. @param charset MIME charset name. @param method base64 or quoted-printable. @param string Data to encode. @param args Optional -charset_encoded boolean and -maxlength length. @return Encoded header text. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private # Version-dependent implementation helpers remain private in the API browser. ::acs::tcllib::document base64 ::base64::ADD {x} { Append a character to the pure-Tcl Base64 encoder's caller-owned output state, inserting line breaks as needed. This version-dependent helper requires its encoder's local variables and is not a standalone API. @param x Character to append. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/base64/base64.md } private ::acs::tcllib::document mime ::mime::base64 {modeOption action separator chunk} { Internal MIME adapter for Base64 encoding and decoding when Trf is absent. This helper is version-dependent and is not a standalone public API. @param modeOption Literal -mode argument. @param action encode or decode. @param separator Literal -- argument. @param chunk Data to process. @return The encoded or decoded chunk. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::quoted-printable {modeOption action separator chunk} { Internal MIME adapter for quoted-printable encoding and decoding when Trf is absent. This helper is version-dependent, not a public API. @param modeOption Literal -mode argument. @param action encode or decode. @param separator Literal -- argument. @param chunk Data to process. @return The encoded or decoded chunk. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::reversemapencoding {mimeType} { Map a MIME charset name to the corresponding Tcl encoding name using Tcllib's case-insensitive mapping table. @param mimeType MIME charset name. @return The Tcl encoding name, or the empty string if no mapping is known. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } ::acs::tcllib::document mime ::mime::buildmessageaux {token} { Internal recursive MIME message serializer used by mime::buildmessage. This helper is version-dependent and operates on MIME token state. @param token MIME token to serialize. @return Serialized MIME message content. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::getsize {token} { Determine the size reported for a MIME token by mime::getproperty. This internal helper is version-dependent and is not a public API. @param token MIME token to inspect. @return The size reported for the MIME part. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::initializeaux {token args} { Configure an allocated MIME token's internal state on behalf of mime::initialize. This helper is version-dependent, not a public API. @param token Allocated MIME token to configure. @param args MIME initialization options passed by mime::initialize. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::parseaddressaux {token string} { Parse an address list using an internal MIME address-parser token. This helper is version-dependent and is not a public API. @param token Internal address-parser token. @param string Address list to parse. @return Parsed address records as name/value lists. @see https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/mime/mime.md } private ::acs::tcllib::document mime ::mime::addr_next {token} { Advance an internal MIME address-parser token to the next address. This version-dependent helper updates parser state and is not a public API. @param token Internal address-parser token. @return 1 if another address was parsed, or 0 at the end of the list. } private ::acs::tcllib::document mime ::mime::addr_x400 {mbox key} { Extract a keyed attribute from an X.400 mailbox representation for the internal MIME address parser. This helper is not a public API. @param mbox X.400 mailbox representation. @param key Attribute key to find, matched without case distinctions. @return Attribute value with surrounding quotes trimmed, or an empty string if the key is absent. } private ::acs::tcllib::document mime ::mime::md5 {separator string} { Internal MIME adapter for computing a hexadecimal MD5 digest when Trf is absent. The ignored first positional parameter has a version-dependent name in Tcllib. This helper is not a public API. @param separator Literal -- argument, ignored by the adapter. @param string Data to hash. @return Hexadecimal MD5 digest. } private ::acs::tcllib::document mime ::mime::addr_specification {token} { Parse the next address specification using the internal MIME parser state and lookahead. Invalid address syntax can raise an error. This version-dependent helper is not a public API. @param token Internal address-parser token. @return 1 if another address was parsed, or 0 at the end of the list. } private ::acs::tcllib::document mime ::mime::parselexeme {token} { Consume the next lexeme from an internal MIME address-parser token, updating its input, buffer and last-lexeme state. This version-dependent helper is not a public API. @param token Internal address-parser token. @return Lexeme type recognized by the parser. } private ::acs::tcllib::document mime ::mime::parsepart {token} { Parse a MIME part from its token's string or file input and populate the internal part state. Parsing errors are reported as Tcl errors. This version-dependent helper is not a public API. @param token MIME token containing the part to parse. } private if {[package provide md5] ne "" && [namespace which -command ::md5::md5] ne ""} { ::acs::tcllib::document md5 ::md5::md5 [info args ::md5::md5] { Compute an MD5 digest using the already-loaded Tcllib MD5 implementation. The default result is binary in MD5 2.x; -hex requests hexadecimal output. @param args Data and options supported by the loaded MD5 package, including -hex, -filename and -channel in MD5 2.x. @return MD5 digest in the requested representation. } } ::acs::tcllib::document mime ::mime::parsetype {token string} { Parse a Content-Type value for an internal MIME token. @param token MIME parser token. @param string Content-Type value to parse. @return Content type and parameters as a two-element list. } private ::acs::tcllib::document mime ::mime::addr_domain {token} { Parse a domain using internal MIME address-parser state. @param token Internal address-parser token. } private ::acs::tcllib::document mime ::mime::addr_end {token} { Validate the end of an address using internal MIME parser state. Invalid trailing syntax raises an error. @param token Internal address-parser token. } private ::acs::tcllib::document mime ::mime::addr_group {token} { Parse an address group using internal MIME parser state. @param token Internal address-parser token. } private ::acs::tcllib::document mime ::mime::addr_phrase {token} { Parse an address phrase using internal MIME parser state. @param token Internal address-parser token. } private ::acs::tcllib::document mime ::mime::addr_routeaddr {token {checkP 1}} { Parse a route address using internal MIME parser state. @param token Internal address-parser token. @param checkP Whether to require a closing angle bracket. } private ::acs::tcllib::document tdom ::tdom::xmlReadFile {filename {encodingString {}}} { Read XML file content through tDOM's internal encoding-aware file helper. This implementation helper is not a public API. @param filename XML file to read. @param encodingString Optional name of a caller variable receiving encoding information. @return File content read by the helper. } private