csa_query_configuration(3)

NAME
csa_query_configuration - Determine information about the installed CSA configuration

SYNOPSIS
#include <csa.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 implementation'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 session independent information should be returned. This will provide default logon information.

If this value is set to a valid Session Handle, session dependent configuration information will be returned.

If the session handle is invalid, then the error CSA_E_INVALID_SESSION_HANDLE is returned.

  Item (Enum)
This argument indicates which configuration information should be returned. If the specified item is not appropriate for the implementation, the error CSA_E_UNSUPPORTED_ENUM is returned. The possible values include:

    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.
    The reference argument will be a pointer to a CSA_enum variable, which will be set to a value of 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.
    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.
    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_CONFIG_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.
    The reference argument will be a pointer to a CSA_enum variable, 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.
    The reference argument will be a pointer to a CSA_enum variable, 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.
    The reference argument will be a pointer to a CSA_enum variable, 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.
    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.
    The reference argument will be a pointer to a CSA_string variable, which will be set to the CSA formal public identifier for the version number for the implementation. This pointer should be freed using csa_free(3).
    The reference argument will be a pointer to a CSA_string variable, which will be set to the CSA formal public identifier 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 information from the function. A value of NULL indicates that the caller is not using any extensions. See the extensions structure for more information.

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 section of the extensions appendix in this document

RETURN VALUE

  Reference (Buffer)
This argument points to the buffer in which to receive the configuration 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 function 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 values:

    There was a general failure that does not fit the description of any other error code.
    Insufficient memory was available to complete the requested operation.
    A CSA_enum value is invalid.
    A flag value in the flags argument was invalid.
    The function extension requested is invalid.
    A function parameter was invalid.
    The specified Session Handle is invalid or no longer valid (e.g., after logging off).
    The operation requested is not supported by this implementation.
    The requested calendar service is unavailable.
    The specified enumerated value is not valid.
    The flag requested is not supported.
    The specified function extension is not supported or CSA_EXT_REQUIRED is set.

SEE ALSO
csa(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_calendar_attributes(3), csa_read_entry_attributes(3), csa_read_next_reminder(3), csa_register_callback(3), csa_unregister_callback(3), csa_update_calendar_attributes(3), csa_update_entry_attributes(3).