csa_register_callback(3)

NAME
csa_register_callback - register the callback functions to be invoked when the specified type of update occurs in the calendar

SYNOPSIS
#include <csa.h>

CSA_return_code csa_register_callback(CSA_session_handle session,
	CSA_flags reason,
	CSA_callback callback,
	CSA_buffer client_data,
	CSA_extension *register_callback_extensions);

DESCRIPTION
The csa_register_callback() function adds the callback procedure to the specified callback list for the session. The service maintains a set of callback lists, logically one list per callback activity type per session. The service reports changes to the state of the service or its calendars by invoking the appropriate callbacks in sequence when the client calls the csa_call_callbacks function or when the specified callback activity occurs. The callback is only active for the duration of the calendar session.

  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.

  Reason (Flags)
A bitmask of flags. Unspecified flags should always be passed as 0. Undocumented flags are reserved. Each flag corresponds to a callback activity and the specified procedure is added to the callback list for that activity type. Flag settings include:

    If set, the new callback will be invoked when a the calendar is accessed by a user.
    If set, the new callback will be invoked when a user requests that the calendar be deleted.
    If set, the new callback will be invoked whenever a calendar attribute is updated.
    If set, the new callback will be invoked whenever an entry is added to the calendar.
    If set, the new callback will be invoked whenever an entry is deleted from the calendar.
    If set, the new callback will be invoked whenever an entry is updated on the calendar. It is implementation specific if the callback function is invoked before or after the specified update type occurs.

  Callback (Callback)
Specifies the client procedure that should be called by the service to handle the callback activity.

  Client Data (Opaque Data)
A pointer to a data structure that will be passed to the callback function in its client_data argument. This can be used to pass client-specific data structure that will be needed by the callback function to perform the task.

  Register Callback 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

  Register Callback 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_register_callback() 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 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 user has insufficient authority for this function.
    The operation requested is not supported by this implementation.
    The requested calendar service is unavailable.
    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_query_configuration(3), csa_read_calendar_attributes(3), csa_read_entry_attributes(3), csa_read_next_reminder(3), csa_unregister_callback(3), csa_update_calendar_attributes(3), csa_update_entry_attributes(3).