235 lines
6.6 KiB
C
235 lines
6.6 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 librararies and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/*******************************************************************************
|
|
**
|
|
** cm_tty.h
|
|
**
|
|
** static char sccsid[] = "@(#)cm_tty.h 1.35 95/07/27 Copyr 1991 Sun Microsystems, Inc.";
|
|
**
|
|
** $XConsortium: cm_tty.h /main/5 1996/10/10 14:49:30 barstow $
|
|
**
|
|
** RESTRICTED CONFIDENTIAL INFORMATION:
|
|
**
|
|
** The information in this document is subject to special
|
|
** restrictions in a confidential disclosure agreement between
|
|
** HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
|
|
** document outside HP, IBM, Sun, USL, SCO, or Univel without
|
|
** Sun's specific written approval. This document and all copies
|
|
** and derivative works thereof must be returned or destroyed at
|
|
** Sun's request.
|
|
**
|
|
** Copyright 1993 Sun Microsystems, Inc. All rights reserved.
|
|
**
|
|
*******************************************************************************/
|
|
|
|
/* *
|
|
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
|
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
|
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
|
* (c) Copyright 1993, 1994 Novell, Inc. *
|
|
*/
|
|
|
|
#ifndef CM_TTY_H
|
|
#define CM_TTY_H
|
|
|
|
#include <csa.h>
|
|
#include <nl_types.h>
|
|
#include "ansi_c.h"
|
|
#include "timeops.h"
|
|
#include "util.h"
|
|
#include "props.h"
|
|
|
|
#define DTCM_CAT "dtcm"
|
|
|
|
/*
|
|
* Enumerated type for use with appointment file parsing routines. For text,
|
|
* case is ignored!
|
|
*/
|
|
typedef enum {
|
|
NOT_A_KEY,
|
|
APPOINTMENT_START, /* "** Calendar Appointment **" */
|
|
DATE_KEY, /* "Date:" */
|
|
START_KEY, /* "Time:", "Start:", "From:" */
|
|
STOP_KEY, /* "Until:", "Stop:", "To:" */
|
|
DURATION_KEY, /* "Duration:" */
|
|
WHAT_KEY, /* "What:" */
|
|
REPEAT_KEY, /* "Repeat:" */
|
|
FOR_KEY, /* "For:" */
|
|
NEW_APPT_KEY /* "cm_appt_def:string:begin" */
|
|
} Parse_key_op;
|
|
|
|
/*
|
|
* Types used in the validation process for each appointment
|
|
*/
|
|
typedef enum {
|
|
COULD_NOT_OPEN_FILE,
|
|
CANCEL_APPT,
|
|
INVALID_DATE,
|
|
INVALID_START,
|
|
INVALID_STOP,
|
|
MISSING_DATE,
|
|
MISSING_START,
|
|
MISSING_WHAT,
|
|
INVALID_NOTIME_APPT,
|
|
REPEAT_FOR_MISMATCH,
|
|
INVALID_TIME_DUE,
|
|
INVALID_TIME,
|
|
MISSING_TIME,
|
|
VALID_APPT
|
|
} Validate_op;
|
|
|
|
/*
|
|
* Enumerated types used to access static strings for appointment information.
|
|
*/
|
|
typedef enum {
|
|
ONE_TIME,
|
|
DAILY,
|
|
WEEKLY,
|
|
EVERY_TWO_WEEKS,
|
|
MONTHLY_BY_DATE,
|
|
MONTHLY_BY_WEEKDAY,
|
|
YEARLY,
|
|
MONDAY_THRU_FRIDAY,
|
|
MON_WED_FRI,
|
|
TUESDAY_THURSDAY,
|
|
REPEAT_EVERY
|
|
} Repeat_menu_op;
|
|
|
|
typedef enum {
|
|
TWO,
|
|
THREE,
|
|
FOUR,
|
|
FIVE,
|
|
SIX,
|
|
SEVEN,
|
|
EIGHT,
|
|
NINE,
|
|
TEN,
|
|
ELEVEN,
|
|
TWELVE,
|
|
THIRTEEN,
|
|
FOURTEEN,
|
|
FOR_EVER
|
|
} For_menu_op;
|
|
|
|
typedef enum {
|
|
TIME_MINS,
|
|
TIME_HRS,
|
|
TIME_DAYS
|
|
} Time_scope_menu_op;
|
|
|
|
typedef enum {
|
|
REPEAT_DAYS,
|
|
REPEAT_WEEKS,
|
|
REPEAT_MONTHS
|
|
} Repeat_scope_menu_op;
|
|
|
|
typedef enum {
|
|
SUNDAY,
|
|
MONDAY,
|
|
TUESDAY,
|
|
WEDNESDAY,
|
|
THURSDAY,
|
|
FRIDAY,
|
|
SATURDAY
|
|
} Days_op;
|
|
|
|
typedef enum {
|
|
JANUARY,
|
|
FEBRUARY,
|
|
MARCH,
|
|
APRIL,
|
|
MAY,
|
|
JUNE,
|
|
JULY,
|
|
AUGUST,
|
|
SEPTEMBER,
|
|
OCTOBER,
|
|
NOVEMBER,
|
|
DECEMBER
|
|
} Months_op;
|
|
|
|
static const int NO_TIME = -1;
|
|
static const int ALL_DAY = -2;
|
|
|
|
/*
|
|
* External function definitions
|
|
*/
|
|
extern char *boolean_str P((boolean_t));
|
|
extern int cm_tty_delete P((nl_catd, CSA_session_handle, int, int, CSA_entry_handle*));
|
|
extern void cm_tty_format_header P((Props*, Tick, char*));
|
|
extern int cm_tty_insert P((nl_catd, CSA_session_handle, int, char*, char*,
|
|
char*, char*, char*, char*,
|
|
char*, Props*));
|
|
extern void cm_tty_load_props P((Props**));
|
|
extern int cm_tty_lookup P((nl_catd, CSA_session_handle, int, char*, char*,
|
|
CSA_entry_handle**, Props*));
|
|
extern boolean_t convert_boolean_str P((char*));
|
|
extern CSA_sint32 convert_privacy_str P((char*));
|
|
extern int convert_privacy_str_to_op P((char*));
|
|
extern SeparatorType convert_separator_str P((char*));
|
|
extern Time_scope_menu_op convert_time_scope_str P((char*));
|
|
extern char *day_str P((Days_op));
|
|
extern char *default_repeat_cnt_str P((Repeat_menu_op));
|
|
extern char *default_repeat_scope_str P((nl_catd, Repeat_menu_op));
|
|
extern char *for_str P((For_menu_op));
|
|
extern char *get_datemsg P((OrderingType,
|
|
SeparatorType));
|
|
extern Parse_key_op identify_parse_key P((char*));
|
|
extern void load_appt_defaults P((Dtcm_appointment*, Props*));
|
|
extern void load_reminder_props P((Dtcm_appointment*, Props*));
|
|
extern char *month_str P((Months_op));
|
|
extern Validate_op parse_appt_from_file P((nl_catd, char*, CmDataList*,
|
|
Props*, boolean_t(*)(void*),
|
|
void*, int));
|
|
extern char *parse_attrs_to_string P((Dtcm_appointment*, Props*,
|
|
char*));
|
|
extern char *attrs_to_string P((CSA_attribute *, int));
|
|
extern char *create_rfc_message P((char *, char *, char**, int));
|
|
extern char *parse_appt_to_string P((CSA_session_handle, CSA_entry_handle, Props*, int));
|
|
extern char *periodstr_from_period P((CSA_sint32, int));
|
|
extern char *privacy_str P((int));
|
|
extern char *privacy_str_old P((int));
|
|
extern char *repeat_str P((nl_catd, Repeat_menu_op));
|
|
extern char *repeat_scope_str P((nl_catd, Repeat_scope_menu_op));
|
|
extern char *privacy_str_411 P((int));
|
|
extern char *separator_str P((SeparatorType));
|
|
extern void str_to_period P((char*, CSA_sint32*, int*));
|
|
extern int timescopestring_to_tick P((char*));
|
|
extern char *time_scope_str P((Time_scope_menu_op));
|
|
extern char *time_scope_str_i18n P((nl_catd, Time_scope_menu_op));
|
|
extern boolean_t valid_time P((Props*, char*));
|
|
extern Validate_op validate_appt P((nl_catd, Dtcm_appointment*,
|
|
char*, char*, char*, int,
|
|
char*, char*, char*,
|
|
boolean_t(*)(void*), void*,
|
|
int));
|
|
extern Validate_op validate_dssw P((Dtcm_appointment*, char*,
|
|
char*, char*, int, char*,
|
|
boolean_t(*)(void*), void*));
|
|
extern Validate_op validate_rfp P((nl_catd, Dtcm_appointment*,
|
|
char*, char*, int));
|
|
extern Validate_op validate_reminders P((Dtcm_appointment*));
|
|
|
|
#endif
|