282 lines
7.2 KiB
C
282 lines
7.2 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $XConsortium: attr.h /main/1 1996/04/21 19:21:44 drk $ */
|
|
/*
|
|
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
|
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
|
* (c) Copyright 1993, 1994 Novell, Inc.
|
|
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
|
*/
|
|
|
|
#ifndef _ATTR_H
|
|
#define _ATTR_H
|
|
|
|
#include <EUSCompat.h>
|
|
#include "ansi_c.h"
|
|
#include "csa.h"
|
|
#include "cm.h"
|
|
|
|
/*
|
|
* types of reminder used by old versions
|
|
*/
|
|
|
|
#define _DtCM_OLD_ATTR_BEEP_REMINDER "bp"
|
|
#define _DtCM_OLD_ATTR_FLASH_REMINDER "fl"
|
|
#define _DtCM_OLD_ATTR_MAIL_REMINDER "ml"
|
|
#define _DtCM_OLD_ATTR_POPUP_REMINDER "op"
|
|
|
|
/*
|
|
* number of attributes for old and new format calendars
|
|
*/
|
|
#define _DtCM_OLD_CAL_ATTR_SIZE 9
|
|
#define _DtCM_OLD_ENTRY_ATTR_SIZE 19
|
|
#define _DtCM_DEFINED_CAL_ATTR_SIZE 15
|
|
#define _DtCM_DEFINED_ENTRY_ATTR_SIZE 34
|
|
|
|
/*
|
|
* "repeat forever" value used in old format calendars
|
|
*/
|
|
#define _DtCM_OLD_REPEAT_FOREVER 999999999
|
|
|
|
/*
|
|
* Attribute number supported by old backends
|
|
*/
|
|
|
|
typedef enum {
|
|
_DtCm_old_attr_unknown,
|
|
_DtCm_old_attr_id,
|
|
_DtCm_old_attr_time,
|
|
_DtCm_old_attr_type,
|
|
_DtCm_old_attr_type2,
|
|
_DtCm_old_attr_duration,
|
|
_DtCm_old_attr_what,
|
|
_DtCm_old_attr_author,
|
|
_DtCm_old_attr_beep_reminder,
|
|
_DtCm_old_attr_flash_reminder,
|
|
_DtCm_old_attr_mail_reminder,
|
|
_DtCm_old_attr_popup_reminder,
|
|
_DtCm_old_attr_repeat_type,
|
|
_DtCm_old_attr_repeat_times,
|
|
_DtCm_old_attr_showtime,
|
|
_DtCm_old_attr_status,
|
|
_DtCm_old_attr_privacy,
|
|
_DtCm_old_attr_repeat_nth_interval,
|
|
_DtCm_old_attr_repeat_nth_weeknum,
|
|
_DtCm_old_attr_end_date
|
|
} _DtCm_old_attrs;
|
|
|
|
/* attribute information structure */
|
|
typedef struct {
|
|
int index;
|
|
CSA_enum type;
|
|
int fst_vers; /* 1st data version supporting this
|
|
* attr
|
|
*/
|
|
_DtCm_old_attrs oldattr;
|
|
boolean_t nex_ro; /* readonly for non-extensible file
|
|
* version
|
|
*/
|
|
boolean_t ex_ro; /* readonly for extensible file version
|
|
*/
|
|
} _DtCmAttrInfo;
|
|
|
|
/* calendar attribute information */
|
|
extern _DtCmAttrInfo _CSA_cal_attr_info[];
|
|
|
|
/* entry attribute information */
|
|
extern _DtCmAttrInfo _CSA_entry_attr_info[];
|
|
|
|
/*
|
|
* external function declarations
|
|
*/
|
|
|
|
extern CSA_return_code _DtCm_check_cal_csa_attributes(
|
|
int fvers,
|
|
uint num_attrs,
|
|
CSA_attribute *attrs,
|
|
char *cname,
|
|
boolean_t checkreadonly,
|
|
boolean_t firsttime,
|
|
boolean_t checkattrnum);
|
|
|
|
extern CSA_return_code _DtCm_check_cal_cms_attributes(
|
|
int fvers,
|
|
uint num_attrs,
|
|
cms_attribute *attrs,
|
|
char *owner,
|
|
char *cname,
|
|
boolean_t checkreadonly,
|
|
boolean_t firsttime,
|
|
boolean_t checkattrnum);
|
|
|
|
extern CSA_return_code _DtCm_check_entry_attributes(
|
|
int fversion,
|
|
uint size,
|
|
CSA_attribute *attrs,
|
|
CSA_flags utype,
|
|
boolean_t checkattrnum);
|
|
|
|
extern CSA_return_code _DtCm_check_entry_cms_attributes(
|
|
int fvers,
|
|
uint num_attrs,
|
|
cms_attribute *attrs,
|
|
CSA_flags utype,
|
|
boolean_t checkattrnum);
|
|
|
|
extern CSA_return_code _DtCm_copy_cms_attributes(
|
|
uint srcsize,
|
|
cms_attribute *srcattrs,
|
|
uint *dstsize,
|
|
cms_attribute **dstattrs);
|
|
|
|
extern CSA_return_code _DtCm_copy_cms_attribute(
|
|
cms_attribute *to,
|
|
cms_attribute *from,
|
|
boolean_t copyname);
|
|
|
|
extern CSA_return_code _DtCm_copy_cms_attr_val(
|
|
cms_attribute_value *from,
|
|
cms_attribute_value **to);
|
|
|
|
extern cms_access_entry *_DtCm_copy_cms_access_list(
|
|
cms_access_entry *alist);
|
|
|
|
extern CSA_date_time_list _DtCm_copy_date_time_list(
|
|
CSA_date_time_list dlist);
|
|
|
|
extern CSA_return_code _DtCm_cms2csa_attribute(
|
|
cms_attribute from,
|
|
CSA_attribute *to);
|
|
|
|
extern CSA_return_code _DtCm_cms2csa_attrval(
|
|
cms_attribute_value *from,
|
|
CSA_attribute_value **to);
|
|
|
|
extern CSA_return_code _DtCm_cms2csa_access_list(
|
|
cms_access_entry *cmslist,
|
|
CSA_access_rights **csalist);
|
|
|
|
extern CSA_return_code _DtCm_csa2cms_access_list(
|
|
CSA_access_rights *csalist,
|
|
cms_access_entry **cmslist);
|
|
|
|
extern CSA_return_code _DtCm_copy_reminder(
|
|
CSA_reminder *from,
|
|
CSA_reminder **to);
|
|
|
|
extern CSA_return_code _DtCm_copy_opaque_data(
|
|
CSA_opaque_data *from,
|
|
CSA_opaque_data **to);
|
|
|
|
extern void _DtCm_free_csa_access_list(CSA_access_list alist);
|
|
|
|
extern void _DtCm_free_cms_attributes(
|
|
uint size,
|
|
cms_attribute *attrs);
|
|
|
|
extern void _DtCm_free_attributes(
|
|
uint size,
|
|
CSA_attribute * attrs);
|
|
|
|
extern void _DtCm_free_cms_attribute_values(
|
|
uint size,
|
|
cms_attribute *attrs);
|
|
|
|
extern void _DtCm_free_attribute_values(
|
|
uint size,
|
|
CSA_attribute *attrs);
|
|
|
|
extern void _DtCm_free_cms_attribute_value(
|
|
cms_attribute_value *val);
|
|
|
|
extern void _DtCm_free_attribute_value(
|
|
CSA_attribute_value *val);
|
|
|
|
extern void _DtCm_free_cms_access_entry(cms_access_entry *list);
|
|
|
|
extern void _DtCm_free_date_time_list(CSA_date_time_list list);
|
|
|
|
extern void _DtCm_free_reminder(CSA_reminder *val);
|
|
|
|
extern void _DtCm_free_opaque_data(CSA_opaque_data *val);
|
|
|
|
extern char *_DtCm_old_reminder_name_to_name(
|
|
char *oldname);
|
|
|
|
extern int _DtCm_old_reminder_name_to_index(
|
|
char *name);
|
|
|
|
extern CSA_return_code _DtCm_get_old_attr_by_name(
|
|
char *name,
|
|
_DtCm_old_attrs *attr);
|
|
|
|
extern CSA_return_code _DtCm_get_old_attr_by_index(
|
|
int index,
|
|
_DtCm_old_attrs *attr);
|
|
|
|
extern CSA_return_code _DtCm_set_uint32_attrval(
|
|
uint numval,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_sint32_attrval(
|
|
int numval,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_string_attrval(
|
|
char *strval,
|
|
cms_attribute_value **val,
|
|
CSA_enum type);
|
|
|
|
extern CSA_return_code _DtCm_set_user_attrval(
|
|
char *user,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_reminder_attrval(
|
|
CSA_reminder *remval,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_access_attrval(
|
|
cms_access_entry *aval,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_opaque_attrval(
|
|
CSA_opaque_data *opqval,
|
|
cms_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_csa_access_attrval(
|
|
cms_access_entry *aval,
|
|
CSA_attribute_value **val);
|
|
|
|
extern CSA_return_code _DtCm_set_csa_uint32_attrval(
|
|
uint numval,
|
|
CSA_attribute_value **attrval);
|
|
|
|
extern CSA_return_code _DtCm_set_csa_string_attrval(
|
|
char *strval,
|
|
CSA_attribute_value **attrval,
|
|
CSA_enum type);
|
|
|
|
extern void _DtCm_get_attribute_types(uint size, int *types);
|
|
|
|
#endif
|