• 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

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):
api_add_calling_info_to_procdoc api_add_calling_info_to_procdoc (private) acs::tcllib::register_documentation acs::tcllib::register_documentation api_add_calling_info_to_procdoc->acs::tcllib::register_documentation api_add_to_proc_doc api_add_to_proc_doc (public) api_add_to_proc_doc->acs::tcllib::register_documentation acs_package_root_dir acs_package_root_dir (public) acs::tcllib::register_documentation->acs_package_root_dir

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):
base64::encode base64::encode (public) base64::ADD base64::ADD base64::encode->base64::ADD

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):
util_http_file_upload util_http_file_upload (public, deprecated) base64::encode base64::encode util_http_file_upload->base64::encode base64::ADD base64::ADD (private) base64::encode->base64::ADD

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):
mime::md5 mime::md5 (private) md5::md5 md5::md5 mime::md5->md5::md5 md5::Hex md5::Hex md5::md5->md5::Hex md5::MD5Final md5::MD5Final md5::md5->md5::MD5Final md5::MD5Init md5::MD5Init md5::md5->md5::MD5Init md5::MD5Update md5::MD5Update md5::md5->md5::MD5Update md5::Pop md5::Pop md5::md5->md5::Pop

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):
mime::addr_routeaddr mime::addr_routeaddr (private) mime::addr_domain mime::addr_domain mime::addr_routeaddr->mime::addr_domain mime::addr_specification mime::addr_specification (private) mime::addr_specification->mime::addr_domain mime::parselexeme mime::parselexeme (private) mime::addr_domain->mime::parselexeme

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):
mime::addr_specification mime::addr_specification (private) mime::addr_end mime::addr_end mime::addr_specification->mime::addr_end

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):
mime::addr_phrase mime::addr_phrase (private) mime::addr_group mime::addr_group mime::addr_phrase->mime::addr_group mime::addr_specification mime::addr_specification (private) mime::addr_specification->mime::addr_group mime::parselexeme mime::parselexeme (private) mime::addr_group->mime::parselexeme

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):
mime::parseaddressaux mime::parseaddressaux (private) mime::addr_next mime::addr_next mime::parseaddressaux->mime::addr_next mime::addr_specification mime::addr_specification (private) mime::addr_next->mime::addr_specification mime::parselexeme mime::parselexeme (private) mime::addr_next->mime::parselexeme

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):
mime::addr_specification mime::addr_specification (private) mime::addr_phrase mime::addr_phrase mime::addr_specification->mime::addr_phrase mime::addr_group mime::addr_group (private) mime::addr_phrase->mime::addr_group mime::addr_routeaddr mime::addr_routeaddr (private) mime::addr_phrase->mime::addr_routeaddr mime::parselexeme mime::parselexeme (private) mime::addr_phrase->mime::parselexeme

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):
mime::addr_phrase mime::addr_phrase (private) mime::addr_routeaddr mime::addr_routeaddr mime::addr_phrase->mime::addr_routeaddr mime::addr_specification mime::addr_specification (private) mime::addr_specification->mime::addr_routeaddr mime::addr_domain mime::addr_domain (private) mime::addr_routeaddr->mime::addr_domain mime::addr_local mime::addr_local mime::addr_routeaddr->mime::addr_local mime::addr_route mime::addr_route mime::addr_routeaddr->mime::addr_route mime::parselexeme mime::parselexeme (private) mime::addr_routeaddr->mime::parselexeme

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):
mime::addr_group mime::addr_group (private) mime::addr_specification mime::addr_specification mime::addr_group->mime::addr_specification mime::addr_next mime::addr_next (private) mime::addr_next->mime::addr_specification mime::addr_domain mime::addr_domain (private) mime::addr_specification->mime::addr_domain mime::addr_end mime::addr_end (private) mime::addr_specification->mime::addr_end mime::addr_phrase mime::addr_phrase (private) mime::addr_specification->mime::addr_phrase mime::addr_routeaddr mime::addr_routeaddr (private) mime::addr_specification->mime::addr_routeaddr mime::parselexeme mime::parselexeme (private) mime::addr_specification->mime::parselexeme

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):
mime::parseaddressaux mime::parseaddressaux (private) mime::addr_x400 mime::addr_x400 mime::parseaddressaux->mime::addr_x400

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):
mime::buildmessageaux mime::buildmessageaux (private) mime::base64 mime::base64 mime::buildmessageaux->mime::base64 mime::getbody mime::getbody (public) mime::getbody->mime::base64 mime::parsepart mime::parsepart (private) mime::parsepart->mime::base64 mime::word_encode mime::word_encode (private) mime::word_encode->mime::base64

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::buildmessage mime::buildmessage acs_mail_lite::maildir_email_parse->mime::buildmessage acs_mail_lite::send_immediately acs_mail_lite::send_immediately (private) acs_mail_lite::send_immediately->mime::buildmessage ad_build_mime_message ad_build_mime_message (public) ad_build_mime_message->mime::buildmessage mime::buildmessageaux mime::buildmessageaux (private) mime::buildmessageaux->mime::buildmessage

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):
mime::buildmessage mime::buildmessage (public) mime::buildmessageaux mime::buildmessageaux mime::buildmessage->mime::buildmessageaux mime::base64 mime::base64 (private) mime::buildmessageaux->mime::base64 mime::md5 mime::md5 (private) mime::buildmessageaux->mime::md5 mime::quoted-printable mime::quoted-printable (private) mime::buildmessageaux->mime::quoted-printable

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):
acs_mail_lite::parse_email acs_mail_lite::parse_email (private) mime::finalize mime::finalize acs_mail_lite::parse_email->mime::finalize acs_mail_lite::send_immediately acs_mail_lite::send_immediately (private) acs_mail_lite::send_immediately->mime::finalize ad_parse_incoming_email ad_parse_incoming_email (public) ad_parse_incoming_email->mime::finalize mime::initialize mime::initialize (public) mime::initialize->mime::finalize

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::getbody mime::getbody acs_mail_lite::maildir_email_parse->mime::getbody acs_mail_lite::parse_email acs_mail_lite::parse_email (private) acs_mail_lite::parse_email->mime::getbody ad_parse_incoming_email ad_parse_incoming_email (public) ad_parse_incoming_email->mime::getbody mime::base64 mime::base64 (private) mime::getbody->mime::base64 mime::getproperty mime::getproperty (public) mime::getbody->mime::getproperty mime::quoted-printable mime::quoted-printable (private) mime::getbody->mime::quoted-printable mime::reversemapencoding mime::reversemapencoding (public) mime::getbody->mime::reversemapencoding

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::getheader mime::getheader acs_mail_lite::maildir_email_parse->mime::getheader acs_mail_lite::parse_email acs_mail_lite::parse_email (private) acs_mail_lite::parse_email->mime::getheader

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::getproperty mime::getproperty acs_mail_lite::maildir_email_parse->mime::getproperty acs_mail_lite::parse_email acs_mail_lite::parse_email (private) acs_mail_lite::parse_email->mime::getproperty ad_parse_incoming_email ad_parse_incoming_email (public) ad_parse_incoming_email->mime::getproperty mime::getbody mime::getbody (public) mime::getbody->mime::getproperty mime::getsize mime::getsize (private) mime::getproperty->mime::getsize

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):
mime::getproperty mime::getproperty (public) mime::getsize mime::getsize mime::getproperty->mime::getsize

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::initialize mime::initialize acs_mail_lite::maildir_email_parse->mime::initialize acs_mail_lite::parse_email acs_mail_lite::parse_email (private) acs_mail_lite::parse_email->mime::initialize acs_mail_lite::send_immediately acs_mail_lite::send_immediately (private) acs_mail_lite::send_immediately->mime::initialize acs_mail_lite::utils::build_body acs_mail_lite::utils::build_body (private) acs_mail_lite::utils::build_body->mime::initialize ad_build_mime_message ad_build_mime_message (public) ad_build_mime_message->mime::initialize mime::finalize mime::finalize (public) mime::initialize->mime::finalize mime::initializeaux mime::initializeaux (private) mime::initialize->mime::initializeaux

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):
mime::initialize mime::initialize (public) mime::initializeaux mime::initializeaux mime::initialize->mime::initializeaux mime::parsepart mime::parsepart (private) mime::parsepart->mime::initializeaux mime::uniqueID mime::uniqueID (public) mime::initializeaux->mime::uniqueID

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):
mime::buildmessageaux mime::buildmessageaux (private) mime::md5 mime::md5 mime::buildmessageaux->mime::md5 md5::md5 md5::md5 (public) mime::md5->md5::md5

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):
acs_mail_lite::encode_email_address acs_mail_lite::encode_email_address (private) mime::parseaddress mime::parseaddress acs_mail_lite::encode_email_address->mime::parseaddress mime::parseaddressaux mime::parseaddressaux (private) mime::parseaddress->mime::parseaddressaux

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):
mime::parseaddress mime::parseaddress (public) mime::parseaddressaux mime::parseaddressaux mime::parseaddress->mime::parseaddressaux mime::addr_next mime::addr_next (private) mime::parseaddressaux->mime::addr_next mime::addr_x400 mime::addr_x400 (private) mime::parseaddressaux->mime::addr_x400

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):
acs_mail_lite::maildir_email_parse acs_mail_lite::maildir_email_parse (private) mime::parsedatetime mime::parsedatetime acs_mail_lite::maildir_email_parse->mime::parsedatetime acs_mail_lite::utils::build_date acs_mail_lite::utils::build_date (private) acs_mail_lite::utils::build_date->mime::parsedatetime

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):
mime::addr_domain mime::addr_domain (private) mime::parselexeme mime::parselexeme mime::addr_domain->mime::parselexeme mime::addr_group mime::addr_group (private) mime::addr_group->mime::parselexeme mime::addr_next mime::addr_next (private) mime::addr_next->mime::parselexeme mime::addr_phrase mime::addr_phrase (private) mime::addr_phrase->mime::parselexeme mime::addr_routeaddr mime::addr_routeaddr (private) mime::addr_routeaddr->mime::parselexeme

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):
mime::initializeaux mime::initializeaux (private) mime::parsepart mime::parsepart mime::initializeaux->mime::parsepart mime::base64 mime::base64 (private) mime::parsepart->mime::base64 mime::parsetype mime::parsetype (private) mime::parsepart->mime::parsetype mime::quoted-printable mime::quoted-printable (private) mime::parsepart->mime::quoted-printable

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):
mime::parsepart mime::parsepart (private) mime::parsetype mime::parsetype mime::parsepart->mime::parsetype mime::parsetypeaux mime::parsetypeaux mime::parsetype->mime::parsetypeaux

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):
acs_mail_lite::utils::build_subject acs_mail_lite::utils::build_subject (private) mime::qp_encode mime::qp_encode acs_mail_lite::utils::build_subject->mime::qp_encode mime::word_encode mime::word_encode (private) mime::word_encode->mime::qp_encode _ _ (public) mime::qp_encode->_

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):
mime::buildmessageaux mime::buildmessageaux (private) mime::quoted-printable mime::quoted-printable mime::buildmessageaux->mime::quoted-printable mime::getbody mime::getbody (public) mime::getbody->mime::quoted-printable mime::parsepart mime::parsepart (private) mime::parsepart->mime::quoted-printable mime::word_encode mime::word_encode (private) mime::word_encode->mime::quoted-printable

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):
mime::getbody mime::getbody (public) mime::reversemapencoding mime::reversemapencoding mime::getbody->mime::reversemapencoding

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):
acs_mail_lite::send_immediately acs_mail_lite::send_immediately (private) mime::setheader mime::setheader acs_mail_lite::send_immediately->mime::setheader

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):
test_acs_mail_lite_inbound_procs_check acs_mail_lite_inbound_procs_check (test acs-mail-lite) mime::uniqueID mime::uniqueID test_acs_mail_lite_inbound_procs_check->mime::uniqueID acs_mail_lite::unique_id_create acs_mail_lite::unique_id_create (private) acs_mail_lite::unique_id_create->mime::uniqueID mime::initializeaux mime::initializeaux (private) mime::initializeaux->mime::uniqueID

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):
acs_mail_lite::encode_email_address acs_mail_lite::encode_email_address (private) mime::word_encode mime::word_encode acs_mail_lite::encode_email_address->mime::word_encode mime::base64 mime::base64 (private) mime::word_encode->mime::base64 mime::qp_encode mime::qp_encode (private) mime::word_encode->mime::qp_encode mime::quoted-printable mime::quoted-printable (private) mime::word_encode->mime::quoted-printable

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):
category_tree::xml::import_from_file category_tree::xml::import_from_file (public) tdom::xmlReadFile tdom::xmlReadFile category_tree::xml::import_from_file->tdom::xmlReadFile tdom::xmlOpenFileWorker tdom::xmlOpenFileWorker tdom::xmlReadFile->tdom::xmlOpenFileWorker

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):
Class ::xo::oauth::Signature Class ::xo::oauth::Signature (public) uri::join uri::join Class ::xo::oauth::Signature->uri::join xo::oauth::Signature proc base_string_from_url xo::oauth::Signature proc base_string_from_url (public) xo::oauth::Signature proc base_string_from_url->uri::join

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):
Class ::xo::oauth::Signature Class ::xo::oauth::Signature (public) uri::split uri::split Class ::xo::oauth::Signature->uri::split packages/xooauth/www/admin/lti-test.tcl packages/xooauth/ www/admin/lti-test.tcl packages/xooauth/www/admin/lti-test.tcl->uri::split xo::oauth::Signature proc base_string_from_url xo::oauth::Signature proc base_string_from_url (public) xo::oauth::Signature proc base_string_from_url->uri::split

Testcases:
No testcase defined.
[ hide source ] | [ make this the default ]

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