CSA_session_handle cal;
logon()
{
CSA_return_code stat;
CSA_calendar_user caddr;
CSA_flags access;
CSA_extension logon_exts[2];
CSA_X_COM_support check_support[2];
/* ログインするカレンダを指定します */
caddr.user_name = NULL;
caddr.user_type = CSA_USER_TYPE_INDIVIDUAL;
caddr.calendar_address = “user@host”;
caddr.calendar_user_extensions = NULL;
/* (CSA_X_DT_GET_USER_ACCESS_EXT) を指定して、
* カレンダに関するユーザのアクセス権を取得します。
*/
logon_exts[0].item_code = CSA_X_DT_GET_USER_ACCESS_EXT;
logon_exts[0].item_data = 0;
logon_exts[0].item_reference = NULL;
logon_exts[0].extension_flags = NULL;
/* CSA_X_COM_SUPPORT_EXT 拡張を指定して、
* CSA_X_XT_APP_CONTEXT_EXT 拡張と、CSA_X_UI_ID_EXT 拡張が
* サポートされているかどうかをチェックします。
*/
check_support[0].item_code = CSA_X_XT_APP_CONTEXT_EXT;
check_support[0].flags = NULL;
check_support[1].item_code = CSA_X_UI_ID_EXT;
check_support[1].flags = NULL;
logon_exts[1].item_code = CSA_X_COM_SUPPORT_EXT;
logon_exts[1].item_data = 2;
logon_exts[1].item_reference = (CSA_buffer)check_support;
logon_exts[0].extension_flags = CSA_EXT_LAST_ELEMENT;
stat = csa_logon(NULL, &caddr, NULL, NULL, NULL, &cal, logon_exts);
if (stat == CSA_SUCCESS) {
access = (CSA_flags)get_access_ext.item_data;
if (check_support[0].flag & CSA_X_COM_SUPPORTED)
printf(“The CSA_X_XT_APP_CONTEXT_EXT extension is supported\n”);
if (check_support[1].flag & CSA_X_COM_SUPPORTED)
printf(“The CSA_X_UI_ID_EXT extension is supported\n”);
}
}
|