csa_query_configuration(library call) csa_query_configuration(library call)
NAMEcsa_query_configuration — Determine information about the installed CSA
configuration
SYNOPSIS
#include <xcmc.h>
CSA_return_code csa_query_configuration(
CSA_session_handle session,
CSA_enum item,
CSA_buffer *reference,
CSA_extension *query_configuration_extensions);
DESCRIPTION
The csa_query_configuration function queries the underlying implementa‐
tion's configuration, and returns the information requested about it,
allocating memory when necessary. The underlying configuration file
format is implementation dependent.
ARGUMENTS
Session (Session Handle)
Opaque session handle that represents a session with the calendaring
service.
Session handles are created by a logon function call and invalidated
with a logoff function call.
Session may be NULL to indicate that there is no session and that ses‐
sion independent information should be returned. This will provide
default logon information.
If this value is set to a valid Session Handle, session dependent con‐
figuration information will be returned.
If the session handle is invalid, then the error CSA_E_INVALID_SES‐
SION_HANDLE is returned.
Item (Enum)
This argument indicates which configuration information should be
returned. If the specified item is not appropriate for the implementa‐
tion, the error CSA_E_UNSUPPORTED_ENUM is returned. The possible val‐
ues include:
CSA_CONFIG_CHARACTER_SET
The reference argument will be a pointer to the array of
character set FPI strings for the implementation. The array
will be terminated with a NULL string. The first character
set FPI in the array is the default character set used if the
caller does not specify one explicitly. This pointer to the
array should be freed using csa_free(3). This FPI is used by
the caller at logon to specify to the implementation to use a
different character set than the default.
CSA_CONFIG_LINE_TERM
The reference argument will be a pointer to a CSA_enum vari‐
able, which will be set to a value of
CSA_LINE_TERM_CRLF
if the line delimiter is a carriage return followed by a line
feed, CSA_LINE_TERM_LF if the line delimiter is a line feed,
or CSA_LINE_TERM_CR if the line delimiter is a carriage
return.
CSA_CONFIG_DEFAULT_SERVICE
The returned reference argument will be a pointer to a
CSA_string into which the default service name will be
returned. A pointer value of NULL will be written if no
default service name is available. This pointer should be
freed using csa_free(3). This string, along with the one
returned by CSA_CONFIG_DEFAULT_USER, can be used as defaults
in user dialogs when asking for the service name, user name,
and password. This will be returned in the implementation
default character set.
CSA_CONFIG_DEFAULT_USER
The reference argument will be a pointer to a CSA_string,
into which the default user name will be returned. A pointer
value of NULL will be written if no default user name is
available. This pointer should be freed using csa_free(3).
This string, along with the one returned by CSA_CON‐
FIG_DEFAULT_SERVICE, can be used as defaults in user dialogs
when asking for the provider name, user name, and password.
This will be returned in the implementation default character
set.
CSA_CONFIG_REQ_PASSWORD
The reference argument will be a pointer to a CSA_enum vari‐
able, which will be set to a value of CSA_REQUIRED_NO if the
password is not required to logon, CSA_REQUIRED_OPT if the
password is optional to logon, or CSA_REQUIRED_YES if the
password is required to logon.
CSA_CONFIG_REQ_SERVICE
The reference argument will be a pointer to a CSA_enum vari‐
able, which will be set to a value of CSA_REQUIRED_NO if the
service name is not required to logon, CSA_REQUIRED_OPT if
the service name is optional to logon, or CSA_REQUIRED_YES if
the service name is required to logon.
CSA_CONFIG_REQ_USER
The reference argument will be a pointer to a CSA_enum vari‐
able, which will be set to a value of CSA_REQUIRED_NO if the
user name is not required to logon, CSA_REQUIRED_OPT if the
user name is optional to logon, or CSA_REQUIRED_YES if the
user name is required to logon.
CSA_CONFIG_UI_AVAIL
The reference argument will be a pointer to a CSA_boolean
variable, which will be set to a true value if there is UI
provided by the CSA implementation.
CSA_CONFIG_VER_IMPLEM
The reference argument will be a pointer to a CSA_string
variable, which will be set to the CSA formal public identi‐
fier for the version number for the implementation. This
pointer should be freed using csa_free(3).
CSA_CONFIG_VER_SPEC
The reference argument will be a pointer to a CSA_string
variable, which will be set to the CSA formal public identi‐
fier for the CSA specification version number supported by
this implementation. This pointer should be freed using
csa_free(3).
The error CSA_E_UNSUPPORTED_ENUM is returned if the specified value is
not supported by the implementation.
Query Configuration Extensions (Extension)
A pointer to an array of CSA_extension structures for this function.
The array may contain both input extensions for providing additional
information to the function and output extensions for receiving infor‐
mation from the function. A value of NULL indicates that the caller is
not using any extensions. See the extensions structure for more infor‐
mation.
Through extensions, the application can find out which extensions are
available. The extension to do this is CSA_X_COM_SUPPORT_EXT. Any CSA
implementation that supports extensions must support this extension.
For more information on this extension, see the common extensions sec‐
tion of the extensions appendix in this document
RETURN VALUE
Reference (Buffer)
This argument points to the buffer in which to receive the configura‐
tion information. The type of the variable or buffer depends on the
item argument.
Query Configuration Extensions (Extension)
If output extensions were passed to the function in the extensions
list, the results from the service will be available in the extension.
See the extensions structure for more information. Whether the func‐
tion succeeded or not, and, if not, why. It may be success or one of
the values listed under ERRORS below.
ERRORS
The csa_query_configuration function returns the following error val‐
ues:
CSA_E_FAILURE
There was a general failure that does not fit the description
of any other error code.
CSA_E_INSUFFICIENT_MEMORY
Insufficient memory was available to complete the requested
operation.
CSA_E_INVALID_ENUM
A CSA_enum value is invalid.
CSA_E_INVALID_FLAG
A flag value in the flags argument was invalid.
CSA_E_INVALID_FUNCTION_EXT
The function extension requested is invalid.
CSA_E_INVALID_PARAMETER
A function parameter was invalid.
CSA_E_INVALID_SESSION_HANDLE
The specified Session Handle is invalid or no longer valid
(e.g., after logging off).
CSA_E_NOT_SUPPORTED
The operation requested is not supported by this implementa‐
tion.
CSA_E_SERVICE_UNAVAILABLE
The requested calendar service is unavailable.
CSA_E_UNSUPPORTED_ENUM
The specified enumerated value is not valid.
CSA_E_UNSUPPORTED_FLAG
The flag requested is not supported.
CSA_E_UNSUPPORTED_FUNCTION_EXT
The specified function extension is not supported or
CSA_EXT_REQUIRED is set.
SEE ALSO
csa/csa.h - csacsa(5), csa_add_calendar(3), csa_add_entry(3),
csa_call_callbacks(3), csa_delete_calendar(3), csa_delete_entry(3),
csa_free(3), csa_free_time_search(3), csa_list_calendar_attributes(3),
csa_list_calendars(3), csa_list_entries(3),
csa_list_entry_attributes(3), csa_list_entry_sequence(3),
csa_logoff(3), csa_logon(3), csa_look_up(3), csa_read_calen‐
dar_attributes(3), csa_read_entry_attributes(3),
csa_read_next_reminder(3), csa_register_callback(3), csa_unregis‐
ter_callback(3), csa_update_calendar_attributes(3),
csa_update_entry_attributes(3).
csa_query_configuration(library call)