csa_free_time_search(3)

NAME
csa_free_time_search - searches one or more calendars for available free time

SYNOPSIS
#include <csa.h>

CSA_return_code csa_free_time_search(CSA_session_handle session,
	CSA_date_time_range date_time_range,
	CSA_time_duration time_duration,
	CSA_uint32 number_users,
	CSA_calendar_user *calendar_users,
	CSA_free_time **free_time,
	CSA_extension *free_time_search_extensions);

DESCRIPTION
The csa_free_time_search() function searches for available free time on one or more calendars and returns a list of free time intervals found. Free time is an interval of time that is not currently scheduled on one or more calendars. The free time search is based on a date and time range and the minimum time duration required of the free time interval. Only the owner of the calendar, users with CSA_FREE_TIME_SEARCH, users with CSA_VIEW_PUBLIC_ENTRIES, users with CSA_VIEW_CONFIDENTIAL_ENTRIES, or users with CSA_VIEW_PRIVATE_ENTRIES can search the calendar for free time.

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. If the session handle is invalid, then the error CSA_E_INVALID_SESSION_HANDLE is returned.

  Date Time Range (Date Time Range)
Specifies the start and stop date and time range for the free time search. If the date_time_range is invalid, then the error CSA_E_INVALID_DATE_TIME is returned.

  Time Duration (Time Duration)
Specifies the minimum time range for the free time intervals to be sought. If the time duration is invalid, then the error CSA_E_INVALID_DATE_TIME is returned.

  Number Users (Uint32)
The number of elements in the calendar_users argument.

  Calendar Users (Calendar User)
A pointer to an array of calendar users. This specifies the calendars to be searched for available free time. If the user does not have authority to access any of the attendee's calendars, then the error CSA_E_NO_AUTHORITY is returned. If an invalid attendee is specified, then the error CSA_E_INVALID_USER is returned. It is implementation specific whether the seach function will proceed in any of these cases.

  Free Time Search 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.

RETURN VALUE

  Free Time (Free Time)
A pointer to a free time structure that specifies a set of free time intervals. If more free time intervals are found than can be represented in the available memory, the CSA_E_INSUFFICIENT_MEMORY error message will be returned. If no available free time is found, then a NULL pointer will be returned. This structure is allocated by the service, and should be freed with a single call to csa_free(3).

  Free Time Search 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_free_time_search() 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.
    The data extension requested is invalid.
    An invalid date and time combination was specified.
    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 specified calendar user is invalid.
    The user has insufficient authority for this function.
    The operation requested is not supported by this implementation.
    The requested calendar service is unavailable.
    The data extension requested is not supported.
    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_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_query_configuration(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).