dtappbuilder: make it build under autotools

This commit is contained in:
Chase
2020-09-05 15:27:30 -05:00
committed by Jon Trulson
parent cb3180cd2a
commit 65d2062518
126 changed files with 846 additions and 65 deletions

View File

@@ -1,77 +0,0 @@
/*
* 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: AB.h /main/4 1995/11/06 18:48:43 rswiston $
*
* @(#)AB.h 1.1 11 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _ABUTIL_AB_H_
#define _ABUTIL_AB_H_
/*
* <ab_private/AB.h>
*
* This file should be included by ALL app builder source files!
* And it should be included before any other ab include files
* ( <ab_private/x.h>, <ab/x.h>, "x.h" ).
*
* It sets DEBUG parameters, and affects the entire product
*/
/*
* Turn on POSIX compliance. This mostly affect system header files.
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1
#endif
/*
* Set the DEBUG compile-time parameter to be exactly the opposite of
* NDEBUG
*/
#ifndef NDEBUG
#ifndef DEBUG
#define DEBUG 1
#endif
#else
#undef DEBUG
#endif
#endif /* _ABUTIL_AB_H_ */

View File

@@ -0,0 +1,38 @@
MAINTAINERCLEANFILES = Makefile.in
ABINCLUDES = ../include
EXTRA_DEFINES = -D_POSIX_SOURCE=1
if HPUX
CCOPTIONS = -Ae
endif
noinst_LIBRARIES = libAButil.a
#noinst_PROGRAMS = util_test istr_test
libAButil_a_CFLAGS = $(EXTRA_DEFINES) -I$(ABINCLUDES)
libAButil_a_SOURCES = abio.c \
abio_path.c \
istr.c \
strlist.c \
util.c \
util_convert.c \
util_ds.c \
util_err.c \
util_file.c \
util_string.c
#util_test_LDADD = libAButil.a -lm
#util_test_CFLAGS = $(EXTRA_DEFINES) -I$(ABINCLUDES)
#util_test_SOURCES = util_test.c
#istr_test_LDADD = libAButil.a -lm
#istr_test_CFLAGS = $(EXTRA_DEFINES) -I$(ABINCLUDES)
#istr_test_SOURCES = istr_test.c

View File

@@ -1,62 +0,0 @@
/*
* 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: MwmUtil.h /main/4 1995/11/06 18:49:29 rswiston $
*
* @(#)MwmUtil.h 1.4 01 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _AB_MWMUTIL_H_
#define _AB_MWMUTIL_H_
/*
* MwmUtil.h - include X library header files, while adding necessary
* defines for app builder programs.
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <Xm/MwmUtil.h>
/*
* Make sure we don't redefine types defined in standard X include files
*/
#define _AB_BOOL_DEFINED_
#define _AB_BYTE_DEFINED_
#endif /* _AB_MWMUTIL_H_ */

View File

@@ -1,43 +0,0 @@
/*
* 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: UilDef.h /main/2 1995/07/15 22:31:34 drk $ */
#ifndef _AB_UILDEF_H_
#define _AB_UILDEF_H_
/*
* UilDef.h - include standard header files, adding symbols for AB
* files.
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <uil/UilDef.h>
/*
* Make sure we don't redefine types defined in standard X include files
*/
#define _AB_BOOL_DEFINED_
#define _AB_BYTE_DEFINED_
#endif /* _AB_UILDEF_H_ */

View File

@@ -1,62 +0,0 @@
/*
* 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: XmAll.h /main/4 1995/11/06 18:49:40 rswiston $
*
* @(#)XmAll.h 1.5 01 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _AB_XMALL_H_
#define _AB_XMALL_H_
/*
* XmAll.h - include standard header files, adding symbols for AB
* files.
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <Xm/XmAll.h>
/*
* Make sure we don't redefine types defined in standard X include files
*/
#define _AB_BOOL_DEFINED_
#define _AB_BYTE_DEFINED_
#endif /* _AB_XMALL_H_ */

View File

@@ -1,417 +0,0 @@
/*
* 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: abio.h /main/5 1995/11/06 18:50:10 rswiston $
*
* @(#)abio.h 1.21 11 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
/*
* abio.h
*
* GUIDE Intermediate Language (GIL) file input / output interface.
*/
#ifndef _abio_h
#define _abio_h
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <stdio.h>
#include <ab_private/AB.h>
#include <ab_private/istr.h>
#include <ab/util_types.h>
/*
* Public functions.
*/
/*
* Indentation control
*/
int abio_indent(FILE *text_file);
int abio_outdent(FILE *text_file);
int abio_set_indent(FILE *text_file, int level);
int abio_get_indent(FILE *text_file);
int abio_set_indent_char(FILE *text_file, int indent_char);
int abio_get_indent_char(FILE *text_file);
int abio_set_indent_chars_per_level(FILE *text_file, int chars_per_level);
int abio_get_indent_chars_per_level(FILE *text_file);
int abio_close_input(FILE *outFile);
int abio_close_output(FILE *outFile);
int abio_access_file(
STRING name,
BOOL *read_OK,
BOOL *write_OK
);
STRING abio_comment_string(void);
STRING abio_module_string(void);
STRING abio_project_string(void);
int abio_get_eof(FILE *inFile);
int abio_get_file_begin(FILE *inFile);
int abio_get_file_end(FILE *inFile);
int abio_get_handler(
FILE *inFile,
ISTRING *stringOut
);
int abio_get_integer(
FILE *inFile,
int *i
);
int abio_get_keyword(
FILE *inFile,
ISTRING *stringOut
);
int abio_get_list(
FILE *inFile,
ISTRING *stringOut
);
int abio_get_list_begin(FILE *inFile);
int abio_get_list_end(FILE *inFile);
int abio_gil_get_full_name(
FILE *inFile,
ISTRING *interfaceOut,
ISTRING *parentOut,
ISTRING *nameOut,
ISTRING *itemOut
);
int abio_gil_get_object_begin(FILE *inFile);
int abio_gil_get_object_end(FILE *inFile);
int abio_get_string(
FILE *inFile,
ISTRING *stringOut
);
int abio_get_string_begin(FILE *inFile);
int abio_get_string_end(FILE *inFile);
STRING abio_integer_string(
int i
);
STRING abio_keyword_string(
STRING s
);
STRING abio_list_begin_string(void);
STRING abio_list_end_string(void);
STRING abio_name_string(
STRING s
);
STRING abio_gil_object_begin_string(void);
STRING abio_gil_object_end_string(void);
STRING abio_open_output(
STRING name,
FILE **pOutFile
);
STRING abio_open_gil_input(
STRING name,
FILE **pInFile
);
STRING abio_open_gil_output(
STRING outFileName,
FILE **pOutFile
);
int abio_open_bil_output(
STRING outfile,
STRING old_file,
FILE **pOutFile
);
STRING abio_open_proj_input(
STRING name,
FILE **pInFile
);
STRING abio_open_proj_output(
STRING name,
FILE **pOutFile
);
STRING abio_open_resfile_input(
STRING name,
FILE **pInFile
);
int
abio_printf(
FILE * outFile,
STRING fmt,...
);
int
abio_print_line(
FILE * outFile,
STRING fmt,...
);
int abio_putc(
FILE *outFile,
char c
);
int abio_puts(
FILE *outFile,
STRING s
);
int abio_put_float(
FILE *outFile,
double d
);
int abio_put_integer(
FILE *outFile,
int i
);
int abio_put_keyword(
FILE *outFile,
AB_OBJECT_TYPE abo_type
);
int abio_put_keyword_name(
FILE *outFile,
STRING name
);
int abio_put_handler(
FILE *outFile,
STRING s
);
int abio_put_full_name(
FILE *outFile,
STRING parent,
STRING name,
STRING item
);
int abio_put_proj_full_name(
FILE *outFile,
STRING itf,
STRING parent,
STRING name,
STRING item
);
int abio_put_string(
FILE *outFile,
STRING s
);
int abio_put_string_to_file(
FILE *outFile,
STRING s
);
int abio_put_string_to_buffer(
STRING string,
STRING outBuf,
int size
);
STRING abio_string_begin_string(void);
STRING abio_string_end_string(void);
STRING abio_string_string(
STRING
);
int abio_open_block(FILE *outFile);
int abio_close_block(FILE *outFile);
int abio_expand_path(
STRING path
);
int abio_expand_file(
char *file,
char *exp_file
);
/*
* BIL functions
*/
int abio_expand_bil_proj_path(
STRING path
);
int abio_expand_bil_module_path(
STRING path
);
int abio_expand_bil_encapsulated_path(
STRING path
);
STRING abio_open_bil_input(
STRING fileName,
int *linesRead,
FILE **pInFile
);
float abio_get_bil_version(
FILE * fp,
int *pLinesRead
);
STRING abio_bil_object_begin_string(void);
STRING abio_bil_object_end_string(void);
STRING abio_bil_boolean_string(
BOOL value
);
STRING abio_bil_true_string(void);
STRING abio_bil_false_string(void);
int abio_bil_get_boolean(
FILE *inFile,
BOOL *valueOut
);
int abio_bil_put_boolean(
FILE *outFile,
BOOL value
);
STRING abio_check_bil_version(
float ver,
STRING name
);
/*
* GIL functions
*/
int abio_is_gil_path(
STRING path
);
int abio_gil_expand_path(
STRING path
);
int abio_gil_expand_proj_path(
STRING path
);
int abio_is_gil_proj_path(
STRING path
);
int abio_gil_put_name(
FILE *outFile,
STRING s
);
int abio_gil_get_name(
FILE *inFile,
ISTRING *stringOut
);
STRING abio_gil_boolean_string(
BOOL value
);
STRING abio_gil_true_string(void);
STRING abio_gil_false_string(void);
int abio_gil_get_boolean(
FILE *inFile,
BOOL *valueOut
);
int abio_gil_put_boolean(
FILE *outFile,
BOOL value
);
/*****************************************************************
** **
** Inline implementation **
** **
*****************************************************************/
#define abio_close_input(fp) (abio_close_input_impl(&(fp)))
int abio_close_input_impl(FILE **pFp);
#define abio_close_output(fp) (abio_close_output_impl(&(fp)))
int abio_close_output_impl(FILE **pFp);
#endif /* _abio_h */

View File

@@ -1,290 +0,0 @@
/*
* 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: istr.h /main/4 1995/11/06 18:50:56 rswiston $
*
* @(#)istr.h 1.27 11 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
/*
* istr.h - string allocater
*
* empty value for an ISTRING is NULL.
*/
#ifndef _ISTR_H
#define _ISTR_H
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <string.h>
#include <ab_private/AB.h>
#include <ab/util_types.h>
#include <ab_private/util.h>
typedef struct
{
BYTE you_dont_want_to_use_this_field;
} ISTRING_PUBLIC_REC;
typedef ISTRING_PUBLIC_REC *ISTRING;
/*
* Allocate a new istring for a given string and return the value,
* or if the string already exists return the value
* for an existing istring. If the string was previously allocated as
* a read only string change its status to const and its string
* pointer.
* Returns -1 if error.
* Note: This string is read only. The string sent in is already
* allocated and the destroy command will not deallocate the
* string
*/
extern ISTRING istr_create_const(
STRING string
);
/*
* Identical to istr_create_const (shortcut)
*/
extern ISTRING istr_const(
STRING string
);
/*
* Allocate a new istring for a given string and return the value,
* or if the string already exists return the value
* for an existing istring. Returns -1 if error.
* Note: This string is read only. The string sent in is already
* allocated and the destroy command will deallocate the
* string
*/
extern ISTRING istr_create_alloced(
STRING string
);
/*
* Allocate a new istring for a given string and return the value,
* or if the string already exists return the value for an
* existing istring. Returns -1 if error.
* Note: This string is read only. The string sent in has not
* been allocated and the destroy command will deallocate
* the string.
*/
extern ISTRING istr_create(
STRING string
);
/*
* Deallocate for the string if refcount=0 else decrement the refcount.
* If the string type is const then don't deallocate.
* returns -1 if error, else returns 1
*/
extern int istr_destroy(
ISTRING istring
);
/*
* Return the string value, and increment counter
* return -1 if error
*/
extern ISTRING istr_dup(
ISTRING istring
);
/*
* Return (STRING) for istring, return NULL if error
*/
extern STRING istr_string(
ISTRING istring
);
/*
* Won't return NULL - returns string associated with istring,
* or "(nil)"
* Note: printable string returned
*/
extern STRING istr_string_safe(
ISTRING istring
);
/*
* Finds the existing ISTRING value for string, returns NULL if string
* doesn't exist
*
* Note that this dups the existing string, and istr_destroy() must
* be called on the returned ISTRING when it is no longer needed.
*/
extern ISTRING istr_dup_existing(
STRING s
);
/*
* Moves the istring in "from" to the istring in "to" and
* sets "from" to NULL
* always returns 0
*/
extern int istr_move(
ISTRING to,
ISTRING from
);
/*
* Returns the length of the string, returns NULL if the
* string is empty
*/
extern int istr_len(
ISTRING s
);
/*
* Compare the two strings, returns the same as strcmp
*/
extern int istr_cmp(
ISTRING s1,
ISTRING s2
);
/*
* Compare the two istrings, returns TRUE if equal
*/
extern BOOL istr_equal(
ISTRING s1,
ISTRING s2
);
/*
* Compare the two strings, returns the same as strcmp
*/
extern int istr_cmpstr(
ISTRING s1,
STRING s2
);
/*
* Compare the two strings, returns TRUE if equal
*/
extern BOOL istr_equalstr(
ISTRING s1,
STRING s2
);
/*
* Verifies that the given ISTRING is valid (e.g., that it exists, and that
* it is not corrupted.
*
* Returns < 0 if an error is detected
*/
int istr_verify(ISTRING);
/*
* Checks all the ISTRINGS and internal data structures to see if anything
* has become corrupted.
*
* Returns < 0 if an error is detected
*/
int istr_verify_all(void);
/*************************************************************************
** **
** Internal functions - clients must not call these! **
** **
**************************************************************************/
typedef struct
{
int refcount;
STRING str;
unsigned int read_const : 1;
} ISTR_PRIVT_STRN;
extern STRING Istr_null_string;
extern int istrP_destroy_impl518283652PrivF(ISTRING*);
extern ISTRING istrP_create_alloced_impl9726039350PrivF(STRING*);
extern int istrP_notify_invalid2160413670PrivF(ISTRING);
extern STRING istrP_get_string_fast3718930164PrivF(ISTRING);
extern STRING istrP_get_string_verify4521632085PrivF(ISTRING);
extern long istrP_num_count7608925912PrivD;
extern ISTR_PRIVT_STRN *istrP_int_array1809065681PrivD;
/*************************************************************************
** **
** Inline implementation **
** **
**************************************************************************/
#define istr_equal(a,b) ((a) == (b))
#define istr_len(s) ((s)==NULL? 0:strlen(istr_string(s)))
#define istr_destroy(s) \
(istrP_destroy_impl518283652PrivF(&(s)))
#define istr_create_alloced(s) \
(istrP_create_alloced_impl9726039350PrivF(&(s)))
#define istr_move(a,b) ((int)((a)=(b), (b)=NULL))
#define istr_cmp(a,b) (util_strcmp(istr_string(a),istr_string(b)))
#define istr_cmpstr(a,b) (util_strcmp(istr_string(a),(b)))
#define istr_equalstr(a,b) (istr_cmpstr(a,b)==0)
#define istr_const(s) (istr_create_const(s))
#define istr_string_safe(s) ((s) == NULL? Istr_null_string:istr_string(s))
#define istrP_get_string_fast3718930164PrivF(istring) \
(istrP_int_array1809065681PrivD[((long)istring)].str)
/* istr_string - if debugging is turned on, checks ISTRINGS for validity */
#ifdef DEBUG
#define istr_string(istring) \
((!debugging())? \
istrP_get_string_fast3718930164PrivF(istring) \
: \
istrP_get_string_verify4521632085PrivF(istring) \
)
#else
#define istr_string(istring) \
(istrP_get_string_fast3718930164PrivF(istring))
#endif /* DEBUG */
#endif /* _ISTR_H */

View File

@@ -1,133 +0,0 @@
/*
* 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: strlist.h /main/4 1995/11/06 18:52:03 rswiston $
*
* @(#)template.h 1.6 11 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _ABUTIL_STRLIST_H_
#define _ABUTIL_STRLIST_H_
/*
* strlist.h - string list manipulation
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <ab_private/AB.h> /* everybody must include this first! */
#include <ab_private/istr.h>
typedef enum
{
STRLIST_SORT_UNDEF = 0,
STRLIST_SORT_ALPHANUMERIC,
STRLIST_SORT_BEST,
STRLIST_SORT_CLIENT_DEF,
STRLIST_SORT_ORDER_NUM_VALUES /* must be last */
} STRLIST_SORT_ORDER;
/*
* string list structure.
*/
typedef struct
{
int num_strings;
int strings_size;
ISTRING *strings;
void **user_datas;
BOOL unique;
STRLIST_SORT_ORDER sort_order;
BOOL indexes_dirty;
} StringListRec, *StringList;
/*
* StringList
*/
StringList strlist_create(void);
int strlist_destroy(StringList);
int strlist_set_sort_order(StringList, STRLIST_SORT_ORDER);
STRLIST_SORT_ORDER strlist_get_sort_order(StringList);
int strlist_construct(StringList);
int strlist_destruct(StringList);
int strlist_set_is_unique(StringList, BOOL unique);
BOOL strlist_is_unique(StringList);
int strlist_make_empty(StringList);
int strlist_is_empty(StringList);
int strlist_add_index(StringList,
int index, STRING s, void *userData);
int strlist_set_num_strs(StringList, int numStrings);
int strlist_get_num_strs(StringList);
int strlist_set_max_size_soft(StringList, int max_num_strs);
int strlist_get_max_size(StringList);
BOOL strlist_max_size_is_soft(StringList);
int strlist_remove_index(StringList, int index);
int strlist_shrink_mem_to_fit(StringList);
int strlist_dump(StringList list);
/*
* STRING interfaces
*/
int strlist_add_str(StringList, STRING s, void *userData);
long strlist_remove_str(StringList, STRING s);
BOOL strlist_str_exists(StringList list, STRING s);
long strlist_get_str_index(StringList list, STRING s);
STRING strlist_get_str(StringList,
int whichString, void **userDataOut);
long strlist_set_str_data(StringList, STRING string, void *data);
void *strlist_get_str_data(StringList, STRING string);
StringList strlist_dup(StringList);
/*
* ISTRING interfaces
*
* The STRINGs and ISTRING are kept in the same list, and behave identically
*/
int strlist_add_istr(StringList, ISTRING s, void *userData);
long strlist_add_index_istr(StringList,
int index, ISTRING s, void *userData);
BOOL strlist_istr_exists(StringList list, ISTRING s);
long strlist_get_istr_index(StringList list, ISTRING s);
ISTRING strlist_get_istr(StringList,
int whichString, void **userDataOut);
long strlist_set_istr_data(StringList, ISTRING istring, void *data);
void *strlist_get_istr_data(StringList, ISTRING istring);
long strlist_remove_istr(StringList, ISTRING s);
#endif /* _ABUTIL_STRLIST_H_ */

View File

@@ -1,352 +0,0 @@
/*
* 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: util.h /main/4 1995/11/06 18:52:47 rswiston $
*
* @(#)util.h 1.39 14 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
/*
* util.h - general utilities
*/
#ifndef _AB_ABUTIL_H_
#define _AB_ABUTIL_H_
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <ab_private/AB.h>
#include <ab/util_types.h>
#include <ab_private/util_err.h>
/*
* <string.h> seems to have a problem cc -Xc is continually complaining
* about strdup().
*/
#ifdef __cplusplus
extern "C" {
#endif
#if !defined(__linux__)
extern char *strdup(const char *);
#endif
#ifdef __cplusplus
} /*extern "C" */
#endif
typedef enum
{
AB_OS_UNDEF = 0,
AB_OS_HPUX,
AB_OS_AIX,
AB_OS_SUNOS,
AB_OS_LNX,
AB_OS_FBSD,
AB_OS_NBSD,
AB_OS_OBSD,
AB_OS_TYPE_NUM_VALUES /* must be last */
} AB_OS_TYPE;
typedef int UTIL_OUTPUT_HANDLER(STRING error_message);
typedef UTIL_OUTPUT_HANDLER *UtilOutputHandler;
extern const STRING Util_null_string; /* "(nil)" */
extern const STRING Util_empty_string; /* "" */
extern int utilP_verbosityPriv3602759317; /* private! */
/*
* Initialization
*/
int util_init(int *argc_in_out, STRING **argv_in_out);
/*
* Memory management
*/
#define util_free(ptr) {if ((ptr) != NULL) {free(ptr); (ptr)= NULL;}}
#define util_malloc(size) (malloc(size))
/*
* General
*/
int util_putenv(STRING string);
#define util_min(a,b) (((a) < (b))? (a):(b))
#define util_max(a,b) (((a) > (b))? (a):(b))
#define util_xor(a,b) ( (((a)?1:0) + ((b)?1:0)) == 1 ) /* logical xor */
int util_set_program_name(STRING this_prog_name);
STRING util_get_program_name(void);
int util_set_program_name_from_argv0(STRING argv0);
AB_OS_TYPE util_get_os_type(void);
STRING util_os_type_to_string(AB_OS_TYPE);
STRING util_os_type_to_ident(AB_OS_TYPE);
/*
* Verbosity
*
* If verbosity is >= 3, debugging is turned on.
* verbosity < 3 => debugging level 0
* verbosity 3 => debugging level 1
* verbosity 4 => debugging level 2
* et cetera...
*/
int util_set_verbosity(int verbosity);
int util_get_verbosity(void);
BOOL util_be_silent(void);
BOOL util_be_verbose(void);
int util_get_debug_level(void);
int debug_level(void); /* these are special-case shortcuts that */
BOOL debugging(); /* don't conform to the naming convention */
/*
* Input/Output
*
* util_puts_err() and util_printf_err() should be used for messages
* that absolutely must be seen by the user (this should cause a popup
* to appear, when ab is running).
*
* util_puts() and util_printf() should be used for informative messages,
* and may or may not actually be presented to the user.
*
* util_dputs() and util_dprintf() should be used for debugging messages.
* Their first parameter is the debugging level at which the message should
* be printed. (verbosity 3 = debug level 1). If debugging is disabled
* (e.g., verbosity < 3), these functions never generate output.
*
* To redirect the error output, use util_set_err_output_handler. ALL error
* output will then be sent to that error handler. A value of NULL sends
* error messages to stderr (which is the startup default). This is normally
* used to add an error handler that will pop up an error dialog when
* running in a windowed application.
*
* util_set_output_handler() works similarly to the error handler.
*/
int util_set_err_output_handler(UtilOutputHandler);
int util_set_output_handler(UtilOutputHandler);
int util_puts(STRING msg);
int util_puts_err(STRING msg);
int util_printf(STRING fmt, ...);
int util_printf_err(STRING fmt, ...);
void util_set_help_data(STRING help, STRING vol, STRING locID);
int util_get_help_data(STRING *help, STRING *vol, STRING *locID);
/* print output if debugging level >= specified */
int util_dputs(int debug_level, STRING msg);
int util_dprintf(int debug_level, STRING fmt, ...);
/*
* files
*/
#define util_fopen fopen /* for consistency */
int util_unbuffer_file(FILE *fp); /* for debugging - removes all */
/* buffer from the stream */
BOOL util_file_is_regular_file(STRING filename);
BOOL util_file_is_directory(STRING filename);
BOOL util_directory_exists(STRING dirName);
BOOL util_file_exists(STRING fileName);
long util_file_size(STRING fileName); /* error if file don't exist */
BOOL util_paths_are_same_file(STRING path1, STRING path2);
int util_fdtruncate(int fildes, off_t length); /* truncate open file*/
int util_ftruncate(FILE *file, off_t length, const char *accessType);
int util_flock(
FILE *file,
BOOL wait,
int lockType,
off_t offset,
off_t length
);
int util_funlock(
FILE *file,
off_t offset,
off_t length
);
FILE *util_fopen_locked(const char *filename, const char *type);
BOOL util_file_name_has_extension(STRING file_name, STRING ext);
BOOL util_file_name_has_ab_extension(STRING file_name);
BOOL util_file_name_is_bil_encapsulated(STRING file_name);
BOOL util_file_name_is_bil_module(STRING file_name);
BOOL util_file_name_is_bil_proj(STRING file_name);
FILE* util_create_tmp_file(char *data);
int util_cvt_path_to_relative( /* NULL from = cwd */
STRING path,
STRING from,
char *buf,
int buf_size);
/*
* strings
*
* THE UTIL STRING FUNCTIONS *ALWAYS* NULL-TERMINATE ANY RETURNED STRINGS!
*
* Note: len = length of string withOUT terminating 0
* size = size of string including terminating 0 ( = len+1 )
*/
BOOL util_streq(STRING s1, STRING s2); /* True if strings = */
BOOL util_strcmp(STRING s1, STRING s2); /* allows NULL strings */
STRING util_strsafe(STRING s); /*returns "(nil)" for NULL strs*/
BOOL util_strempty(STRING s); /* looks for NULL AND "" */
int util_strncpy(STRING to, STRING from, int to_size);
int util_strcvt_to_lower(STRING to, STRING from, int to_size);
int util_strcasestr(STRING str, STRING substr);
int util_strncasecmp(STRING s1, STRING s2, int max_chars);
STRING util_strip_white_space(STRING string);
STRING util_get_file_name_from_path(
STRING path,
STRING fileNameBuf,
int fileNameBufSize
);
STRING util_get_dir_name_from_path(
STRING path,
STRING dirNameBuf,
int dirNameBufSize
);
int util_mkdir_hier(
STRING path
);
BOOL util_path_is_absolute(
STRING dir
);
int util_derive_name_from_path(
char *fullpath,
char *objname
);
int util_check_name(
STRING name,
STRING new_name
);
/*
* Process control
*/
pid_t util_vfork(void); /* lightweight fork() */
/*
* conversions
*/
STRING util_cvt_bool_to_string(BOOL bool_value, STRING buf, int buf_size);
/*************************************************************************
** **
** Inline implementation **
** **
*************************************************************************/
/* check 1st chars before calling strcmp - avoids a lot of calls */
#define util_streq(s1,s2) \
( ((s1) == (s2)) \
|| (((s1) != NULL) && ((s2) != NULL) && (((s1)[0] == (s2)[0]) && (strcmp(s1,s2) == 0))) \
)
/*
* allows compare of null strings (NULL < "")
*/
#define util_strcmp(s1,s2) \
(((s1) == (s2))? \
0 \
: \
((s1 == NULL)? \
(-1) \
: \
((s2) == NULL? \
(1) \
: \
strcmp((s1),(s2)) \
) \
) \
)
#define util_strlen(s) ((s) == NULL? 0:strlen(s))
#define util_strsafe(s) ((s) == NULL? Util_null_string:(s))
#define util_strempty(s) (s == NULL || (strcmp(s, "") == 0))
/*
* Verbosity
*/
#define util_get_verbosity() (utilP_verbosityPriv3602759317)
#define util_be_silent() (util_get_verbosity() < 1)
#define util_be_verbose() (util_get_verbosity() > 1)
#define util_get_debug_level() (util_max(0, util_get_verbosity() - 2))
#define debug_level() ((int)(util_get_debug_level()))
#define debugging() ((BOOL)(debug_level() > 0))
/*
* We key on DEBUG here, so that if DEBUG is turned off, these macros
* evaluate to constants. That should allow the compiler to remove
* sections of code that are executed conditionally based on these
* macros.
*/
#ifndef DEBUG
#undef util_get_debug_level
#define util_get_debug_level() (0)
#undef debug_level
#define debug_level() (0)
#undef debugging
#define debugging() (FALSE)
#endif /* DEBUG */
#define util_fclose(fp) ((fp) == NULL? 0:(util_funlock(fp, 0, 0), fclose(fp), (fp)= NULL, 0))
/*
* These functions are obsolete. Here for backwards compatibility
*/
#define util_error(s) util_puts_err(s)
#endif /* _AB_ABUTIL_H_ */

View File

@@ -1,94 +0,0 @@
/*
* 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: util_ds.h /main/4 1995/11/06 18:53:31 rswiston $
*
* @(#)util_ds.h 1.1 19 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _UTIL_DS_H_
#define _UTIL_DS_H_
/*
* util_ds.h - LList and ASet ADTs
*/
#include <X11/Intrinsic.h>
typedef struct _LListStruct *LList;
typedef void (*LListIterFn)(void *cl_data);
#define ASet LList
#define ASetIterFn LListIterFn
/*******************************
* LList and ASet ADT operations
*******************************/
extern LList util_llist_create(
void
);
extern void util_llist_destroy(
LList llist
);
extern void util_llist_insert_after(
LList llist,
void *cl_data
);
extern LList util_llist_find(
LList llist,
void *cl_data
);
extern void util_llist_delete(
LList llist,
void *cl_data
);
extern void util_llist_iterate(
LList llist,
LListIterFn fn
);
#define util_aset_create util_llist_create
#define util_aset_destroy util_llist_destroy
#define util_aset_iterate util_llist_iterate
#define util_aset_remove util_llist_delete
extern void util_aset_add(
ASet aset,
void *cl_data
);
#endif /* _UTIL_DS_H_ */

View File

@@ -1,110 +0,0 @@
/*
* 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: util_err.h /main/4 1995/11/06 18:53:55 rswiston $
*
* @(#)util_err.h 1.14 11 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _ABUTIL_UTIL_ERR_H_
#define _ABUTIL_UTIL_ERR_H_
/*
* util_err.h - error codes
*
* All error codes are negative. They are numbered in
* groups (general, file i/o, memory, ...).
*
* When returning an error, use the most specific error code.
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#include <ab_private/AB.h>
#include <ab/util_types.h>
#define OK (0) /* smooth sailing */
#define ERR (-1) /* generic error */
#define ERR_INTERNAL (-100) /* internal errors */
#define ERR_RECURSION (-101) /* recursion not allowed! */
#define ERR_DATA_SPACE_FULL (-102)
#define ERR_BUFFER_TOO_SMALL (-103)
#define ERR_NOT_IMPLEMENTED (-104)
#define ERR_NOT_INITIALIZED (-105)
#define ERR_CLIENT (-200) /* errors on the part of the caller */
#define ERR_NOT_ALLOWED (-201)
#define ERR_NOT_FOUND (-202) /* search failed */
#define ERR_DUPLICATE_KEY (-203) /* insert of duplicate key */
#define ERR_BAD_PARAM (-220) /* bad parameter */
#define ERR_BAD_PARAM1 (-221) /* parameter #1 bad */
#define ERR_BAD_PARAM2 (-222)
#define ERR_BAD_PARAM3 (-223)
#define ERR_BAD_PARAM4 (-224)
#define ERR_BAD_PARAM5 (-225)
#define ERR_BAD_PARAM6 (-226)
#define ERR_BAD_PARAM7 (-227)
#define ERR_BAD_PARAM8 (-228)
#define ERR_BAD_PARAM9 (-229)
#define ERR_IO (-300) /* I/O errors */
#define ERR_FILE_NOT_FOUND (-301)
#define ERR_OPEN (-302)
#define ERR_WRITE (-303)
#define ERR_READ (-304)
#define ERR_EOF (-305)
#define ERR_BAD_FILE_FORMAT (-306)
#define ERR_RENAME (-307)
#define ERR_READ_ONLY (-308)
#define ERR_BACKUP (-309)
#define ERR_MEMORY (-400) /* memory errors */
#define ERR_NO_MEMORY (-401)
#define ERR_MEMORY_CORRUPT (-402)
#define ERR_MULTIPLE_FREE (-403) /* multiple frees of same object/buf */
/*************************************************************************
** **
** Functions **
** **
*************************************************************************/
STRING util_error_string(int errCode);
int util_print_error(int errCode, STRING string); /* NULL OK for string*/
#endif /* _ABUTIL_UTIL_ERR_H_ */

View File

@@ -40,7 +40,7 @@
*
*/
#include "util.h"
#include <ab_private/util.h>
#include <sys/types.h>
#include <sys/stat.h> /* mkdir */
#include <sys/param.h>

View File

@@ -1,812 +0,0 @@
/*
* 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: util_types.h /main/4 1995/11/06 18:54:42 rswiston $
*
* @(#)util_types.h 3.69 15 Feb 1994 cde_app_builder/src/libAButil
*
* 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.
*
*/
#ifndef _AB_UTIL_TYPES_H
#define _AB_UTIL_TYPES_H
/*
* util_types.h - defines all scalar types used in the CDE app builder
*/
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE 1 /* we want to be POSIX-compliant */
#endif
#define AB_VERSION_PREFIX ":bil-version"
/*************************************************************************
**************************************************************************
** **
** GENERAL/MISCELLANEOUS TYPES **
** **
**************************************************************************
**************************************************************************/
#define OK (0)
#define ERROR (-1)
#define AB_NO_SUBTYPE -1
extern const int Util_major_version;
extern const int Util_minor_version;
#include <X11/Xmd.h> /* For BOOL and BYTE typedefs */
typedef unsigned char UCHAR;
typedef unsigned int UINT;
typedef unsigned long ULONG;
typedef char * STRING;
#ifndef FALSE
#define FALSE ((BOOL)(0x00))
#endif
#ifndef TRUE
#define TRUE ((BOOL)(0x01))
#endif
/*************************************************************************
**************************************************************************
** **
** APP-BUILDER-SPECIFIC TYPES **
** **
**************************************************************************
**************************************************************************/
/*
* Argument type used in the resfile.
*/
typedef enum
{
AB_ARG_UNDEF = 0,
AB_ARG_BOOLEAN,
AB_ARG_CALLBACK,
AB_ARG_FLOAT,
AB_ARG_INT,
AB_ARG_LITERAL, /* e.g., #define values, written out "as is" */
AB_ARG_NONE, /* no argument */
AB_ARG_STRING,
AB_ARG_XMSTRING,
AB_ARG_XMSTRING_TBL,
AB_ARG_PIXEL,
AB_ARG_PIXMAP,
AB_ARG_FONT,
AB_ARG_WIDGET,
AB_ARG_VOID_PTR,
AB_ARG_VARIABLE,
AB_ARG_MNEMONIC,
AB_ARG_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_ARG_TYPE;
/*
* Resource "classes"
*
* The classes are mutually exclusive.
*/
typedef enum
{
AB_ARG_CLASS_UNDEF = 0,
AB_ARG_CLASS_ACCELERATOR, /* items */
AB_ARG_CLASS_COLOR, /* any color-related arg */
AB_ARG_CLASS_GEOMETRY, /* includes layout, attachments */
AB_ARG_CLASS_GLYPH, /* any glyph (including icons) */
AB_ARG_CLASS_NON_GLYPH_LABEL, /* any label not of type glyph */
AB_ARG_CLASS_OTHER_STRING, /* any string of no other class */
AB_ARG_CLASS_OTHER, /* any of no other class */
AB_ARG_CLASS_VALUE, /* e.g., text field, scale, scrollbar*/
AB_ARG_CLASS_NUM_VALUES /* must be last */
} AB_ARG_CLASS;
typedef unsigned char AB_ARG_CLASS_FLAGS; /* bitmap of arg classes */
#define AB_ARG_CLASS_FLAGS_NONE ((AB_ARG_CLASS_FLAGS)0x0000)
#define AB_ARG_CLASS_FLAGS_ALL ((AB_ARG_CLASS_FLAGS)~0x0000)
/*
* Function type used in the resfile
*/
typedef enum
{
AB_FUNC_UNDEF = 0,
AB_FUNC_BUILTIN, /* ab-defined action (e.g., setvalue) */
AB_FUNC_USER_DEF, /* function name (user-defined function) */
AB_FUNC_CODE_FRAG, /* actual code entered by user */
AB_FUNC_ON_ITEM_HELP, /* dtb_do_on_item_help() */
AB_FUNC_HELP_VOLUME, /* dtb_show_help_volume_info() */
AB_FUNC_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_FUNC_TYPE;
/*
* Orientation scalar
*/
typedef enum
{
AB_ORIENT_UNDEF = 0,
AB_ORIENT_HORIZONTAL,
AB_ORIENT_VERTICAL,
AB_ORIENTATION_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_ORIENTATION;
/*
* Types for the AB_GROUP_TYPE attribute.
*/
typedef enum
{
AB_GROUP_UNDEF = 0,
AB_GROUP_IGNORE,
AB_GROUP_COLUMNS,
AB_GROUP_ROWS,
AB_GROUP_ROWSCOLUMNS,
AB_GROUP_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_GROUP_TYPE;
/*
* Types for AB_LINE_TYPE (Used for Separator Object &
* framing objects)
*/
typedef enum
{
AB_LINE_UNDEF = 0,
AB_LINE_NONE,
AB_LINE_SHADOW_IN,
AB_LINE_SHADOW_OUT,
AB_LINE_ETCHED_IN,
AB_LINE_ETCHED_OUT,
AB_LINE_ETCHED_IN_DASH,
AB_LINE_ETCHED_OUT_DASH,
AB_LINE_SINGLE_LINE,
AB_LINE_DOUBLE_LINE,
AB_LINE_SINGLE_DASHED_LINE,
AB_LINE_DOUBLE_DASHED_LINE,
AB_LINE_TYPE_NUM_VALUES
} AB_LINE_TYPE;
/*
*
*/
typedef enum
{
AB_ALIGN_UNDEF = 0,
AB_ALIGN_TOP,
AB_ALIGN_RIGHT,
AB_ALIGN_BOTTOM,
AB_ALIGN_LEFT,
AB_ALIGN_CENTER, /* center verticaly and horizontally */
AB_ALIGN_VCENTER, /* center vertically */
AB_ALIGN_HCENTER, /* center horizontally */
AB_ALIGN_LABELS,
AB_ALIGNMENT_NUM_VALUES /* must be last! */
} AB_ALIGNMENT;
typedef enum
{
AB_DIR_UNDEF = 0,
AB_DIR_LEFT_TO_RIGHT,
AB_DIR_RIGHT_TO_LEFT,
AB_DIR_TOP_TO_BOTTOM,
AB_DIR_BOTTOM_TO_TOP,
AB_DIR_NUM_VALUES /* must be last! */
} AB_DIRECTION;
/*
* Types for the AB_{ANCHOR,REFERENCE}_POINT attributes.
*/
typedef enum
{
AB_CP_UNDEF = 0,
AB_CP_NORTH,
AB_CP_NORTHEAST,
AB_CP_EAST,
AB_CP_SOUTHEAST,
AB_CP_SOUTH,
AB_CP_SOUTHWEST,
AB_CP_WEST,
AB_CP_NORTHWEST,
AB_CP_CENTER,
AB_COMPASS_POINT_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_COMPASS_POINT;
/*
* Layout Attachment types
*/
typedef enum
{
AB_ATTACH_UNDEF = 0,
AB_ATTACH_POINT,
AB_ATTACH_OBJ,
AB_ATTACH_ALIGN_OBJ_EDGE,
AB_ATTACH_GRIDLINE,
AB_ATTACH_CENTER_GRIDLINE,
AB_ATTACH_NONE,
AB_ATTACHMENT_NUM_VALUES
} AB_ATTACH_TYPE;
/*
* Intitial state types.
*/
typedef enum
{
AB_STATE_UNDEF = 0,
AB_STATE_ACTIVE,
AB_STATE_ICONIC,
AB_STATE_INACTIVE,
AB_STATE_INVISIBLE,
AB_STATE_NOTSELECTED,
AB_STATE_OPEN,
AB_STATE_SELECTED,
AB_STATE_VISIBLE,
AB_OBJECT_STATE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_OBJECT_STATE;
/*
*
*/
typedef enum
{
AB_PACK_UNDEF = 0,
AB_PACK_NONE,
AB_PACK_TIGHT,
AB_PACK_EQUAL,
AB_PACKING_NUM_VALUES
} AB_PACKING;
/*
* file types
*/
typedef enum
{
AB_FILE_UNDEF = 0,
AB_FILE_BIL_COMPLETE,
AB_FILE_BIL_PROJECT,
AB_FILE_BIL_MODULE,
AB_FILE_C,
AB_FILE_GIL_INTERFACE,
AB_FILE_GIL_PROJECT,
AB_FILE_UIL,
AB_FILE_TYPE_NUM_VALUES
} AB_FILE_TYPE;
/*
* Action triggers ("when" values)
*
*/
typedef enum
{
AB_WHEN_UNDEF = 0,
AB_WHEN_ACTION1, /* MessageBox Ok Button */
AB_WHEN_ACTION2, /* MessageBox Extra Button */
AB_WHEN_ACTION3, /* MessageBox Extra Button */
AB_WHEN_ACTIVATED,
AB_WHEN_AFTER_CREATED, /* immediately after create */
AB_WHEN_AFTER_RESIZED,
AB_WHEN_BEFORE_POST_MENU,
AB_WHEN_BEFORE_TEXT_CHANGED,
AB_WHEN_CANCEL, /* MessageBox Cancel Button */
AB_WHEN_DESTROYED,
AB_WHEN_DOUBLE_CLICKED_ON,
AB_WHEN_DRAGGED,
AB_WHEN_DRAGGED_FROM,
AB_WHEN_DROPPED_ON,
AB_WHEN_HIDDEN,
AB_WHEN_ITEM_SELECTED,
AB_WHEN_OK,
AB_WHEN_POPPED_DOWN,
AB_WHEN_POPPED_UP,
AB_WHEN_REPAINT_NEEDED,
AB_WHEN_SESSION_RESTORE,
AB_WHEN_SESSION_SAVE,
AB_WHEN_SHOWN,
AB_WHEN_TEXT_CHANGED,
AB_WHEN_TOGGLED,
AB_WHEN_TOOLTALK_DO_COMMAND,
AB_WHEN_TOOLTALK_GET_STATUS,
AB_WHEN_TOOLTALK_PAUSE_RESUME,
AB_WHEN_TOOLTALK_QUIT,
AB_WHEN_VALUE_CHANGED,
AB_WHEN_NUM_VALUES
} AB_WHEN;
/*
* Builtin app builder actions
*/
typedef enum
{
AB_STDACT_UNDEF = 0,
AB_STDACT_DISABLE,
AB_STDACT_ENABLE,
AB_STDACT_HIDE,
AB_STDACT_SET_LABEL,
AB_STDACT_SET_TEXT,
AB_STDACT_SET_VALUE,
AB_STDACT_SHOW,
AB_BUILTIN_ACTION_NUM_VALUES
} AB_BUILTIN_ACTION;
/*
* Horizontal and vertical scrollbar settings
*/
typedef enum
{
AB_SCROLLBAR_UNDEF = 0,
AB_SCROLLBAR_ALWAYS,
AB_SCROLLBAR_NEVER,
AB_SCROLLBAR_WHEN_NEEDED,
AB_SCROLLBAR_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_SCROLLBAR_POLICY;
/*
* Tooltalk Handling Level types
*/
typedef enum
{
AB_TOOLTALK_UNDEF,
AB_TOOLTALK_NONE,
AB_TOOLTALK_DESKTOP_BASIC,
AB_TOOLTALK_DESKTOP_ADVANCED,
AB_TOOLTALK_NUM_VALUES /* number of valid values - LAST */
} AB_TOOLTALK_LEVEL;
/*
* Sessioning method.
* Used in Project ABObj.
*/
typedef enum
{
AB_SESSIONING_UNDEF = 0,
AB_SESSIONING_NONE,
AB_SESSIONING_CMDLINE,
AB_SESSIONING_FILE,
AB_SESSIONING_CMDLINE_AND_FILE,
AB_SESSIONING_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_SESSIONING_METHOD;
/*************************************************************************
**************************************************************************
** **
** OBJECT TYPES AND SUBTYPES **
** **
**************************************************************************
**************************************************************************/
/*
* Basic object types
*/
typedef enum
{
AB_TYPE_UNDEF = 0,
AB_TYPE_ACTION,
AB_TYPE_ACTION_LIST,
AB_TYPE_BASE_WINDOW,
AB_TYPE_BUTTON,
AB_TYPE_CHOICE,
AB_TYPE_COMBO_BOX,
AB_TYPE_CONTAINER,
AB_TYPE_DIALOG,
AB_TYPE_DRAWING_AREA,
AB_TYPE_FILE, /*generic file, usually, a file in a proj*/
AB_TYPE_MODULE,
AB_TYPE_ITEM, /* item in a list, menu, or choice */
AB_TYPE_LABEL, /* static text */
AB_TYPE_LAYERS,
AB_TYPE_LIST,
AB_TYPE_MENU,
AB_TYPE_PROJECT,
AB_TYPE_SEPARATOR,
AB_TYPE_SPIN_BOX,
AB_TYPE_SCALE,
AB_TYPE_TERM_PANE,
AB_TYPE_TEXT_FIELD,
AB_TYPE_TEXT_PANE,
AB_TYPE_UNKNOWN,
AB_TYPE_FILE_CHOOSER,
AB_TYPE_MESSAGE,
AB_OBJECT_TYPE_NUM_VALUES /* number of valid values (MUST BE LAST!) */
} AB_OBJECT_TYPE;
#define AB_TYPE_INTERFACE AB_TYPE_MODULE /* INTERFACE WILL GO AWAY */
/*
* Compound object sub-types
*/
typedef enum
{
AB_COMP_UNDEF = 0,
AB_COMP_FILE_CHOOSER,
AB_COMP_MESSAGE,
AB_COMPOUND_TYPE_NUM_VALUES /* must be last! */
} AB_COMPOUND_TYPE;
/*
* Container subtypes
*/
typedef enum
{
AB_CONT_UNDEF = 0,
AB_CONT_ABSOLUTE,
AB_CONT_BUTTON_PANEL,
AB_CONT_FOOTER,
AB_CONT_GROUP,
AB_CONT_MAIN_WINDOW,
AB_CONT_MENU_BAR,
AB_CONT_PANED,
AB_CONT_RELATIVE,
AB_CONT_SCROLLED_WINDOW,
AB_CONT_ROW_COLUMN,
AB_CONT_TOOL_BAR,
AB_CONTAINER_TYPE_NUM_VALUES /* must be last! */
} AB_CONTAINER_TYPE;
typedef enum
{
AB_DLG_UNDEF = 0,
AB_DLG_BUILTIN,
AB_DLG_CUSTOM,
AB_DIALOG_TYPE_NUM_VALUES /* must be last! */
} AB_DIALOG_TYPE;
/*
* Button subtypes.
*/
typedef enum
{
AB_BUT_UNDEF = 0,
AB_BUT_PUSH,
AB_BUT_DRAWN,
AB_BUT_MENU,
AB_BUTTON_TYPE_NUM_VALUES /* must be last! */
} AB_BUTTON_TYPE;
/*
* subtype for: ITEM
*/
typedef enum
{
AB_ITEM_FOR_UNDEF = 0,
AB_ITEM_FOR_CHOICE,
AB_ITEM_FOR_COMBO_BOX,
AB_ITEM_FOR_LIST,
AB_ITEM_FOR_MENU,
AB_ITEM_FOR_MENUBAR,
AB_ITEM_FOR_SPIN_BOX,
AB_ITEM_TYPE_NUM_VALUES /* must be last */
} AB_ITEM_TYPE;
/*
* Menu types.
*/
typedef enum
{
AB_MENU_UNDEF = 0,
AB_MENU_PULLDOWN,
AB_MENU_POPUP,
AB_MENU_OPTION,
AB_MENU_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_MENU_TYPE;
/*
* Setting types.
*/
typedef enum
{
AB_CHOICE_UNDEF = 0,
AB_CHOICE_EXCLUSIVE,
AB_CHOICE_NONEXCLUSIVE,
AB_CHOICE_OPTION_MENU,
AB_CHOICE_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
/* ANSI: no comma after last enum item! */
} AB_CHOICE_TYPE;
typedef enum
{
AB_SELECT_UNDEF = 0,
AB_SELECT_SINGLE,
AB_SELECT_BROWSE,
AB_SELECT_MULTIPLE,
AB_SELECT_BROWSE_MULTIPLE,
AB_SELECT_TYPE_NUM_VALUES
/* ANSI: no comma after last enum item! */
} AB_SELECT_TYPE;
/*
* subtype for: TEXT_FIELD, TEXT_PANE, SPIN_BOX
*/
typedef enum
{
AB_TEXT_UNDEF = 0,
AB_TEXT_ALPHANUMERIC,
AB_TEXT_NUMERIC,
AB_TEXT_DEFINED_STRING,
AB_TEXT_TYPE_NUM_VALUES /* must be last! */
} AB_TEXT_TYPE;
/*
* Label subtypes.
*/
typedef enum
{
AB_LABEL_UNDEF = 0,
AB_LABEL_ARROW_DOWN,
AB_LABEL_ARROW_LEFT,
AB_LABEL_ARROW_RIGHT,
AB_LABEL_ARROW_UP,
AB_LABEL_DRAWN,
AB_LABEL_GLYPH,
AB_LABEL_STRING,
AB_LABEL_SEPARATOR,
AB_LABEL_TYPE_NUM_VALUES /* number of valid values - MUST BE LAST */
} AB_LABEL_TYPE;
typedef enum
{
AB_STYLE_UNDEF = 0,
AB_STYLE_NORMAL,
AB_STYLE_BOLD,
AB_STYLE_3D,
AB_LABEL_STYLE_NUM_VALUES /* must be last */
} AB_LABEL_STYLE;
/*
* Arrow styles for SpinBox
*/
typedef enum
{
AB_ARROW_UNDEF = 0,
AB_ARROW_FLAT_BEGIN,
AB_ARROW_FLAT_END,
AB_ARROW_BEGIN,
AB_ARROW_END,
AB_ARROW_SPLIT,
AB_ARROW_STYLE_NUM_VALUES /* must be last */
} AB_ARROW_STYLE;
#define ab_label_is_arrow(lt) \
((lt) == AB_LABEL_ARROW_DOWN || \
(lt) == AB_LABEL_ARROW_UP || \
(lt) == AB_LABEL_ARROW_RIGHT || \
(lt) == AB_LABEL_ARROW_LEFT )
/*
* Scale subtypes.
*/
typedef enum
{
AB_SCALE_UNDEF = 0,
AB_SCALE_SCALE,
AB_SCALE_GAUGE,
AB_SCALE_NUM_VALUES /* must be last! */
} AB_SCALE_TYPE;
/*
* File type masks for the File Chooser
*/
typedef enum
{
AB_FILE_TYPE_MASK_UNDEF = 0,
AB_FILE_REGULAR,
AB_FILE_DIRECTORY,
AB_FILE_ANY,
AB_FILE_TYPE_MASK_NUM_VALUES /* must be last! */
} AB_FILE_TYPE_MASK;
/*
* Message Box types
*/
typedef enum
{
AB_MSG_UNDEF = 0,
AB_MSG_ERROR,
AB_MSG_INFORMATION,
AB_MSG_QUESTION,
AB_MSG_WARNING,
AB_MSG_WORKING,
AB_MSG_TYPE_NUM_VALUES /* must be last! */
} AB_MESSAGE_TYPE;
/*
* Default Button.
*/
typedef enum
{
AB_DEFAULT_BTN_UNDEF = 0,
AB_DEFAULT_BTN_ACTION1,
AB_DEFAULT_BTN_ACTION2,
AB_DEFAULT_BTN_ACTION3,
AB_DEFAULT_BTN_CANCEL,
AB_DEFAULT_BTN_NONE,
AB_DEFAULT_BTN_NUM_VALUES /* must be last! */
} AB_DEFAULT_BUTTON;
/*************************************************************************
** **
** Type converters **
** **
**************************************************************************/
AB_ARG_TYPE util_string_to_arg_type(
STRING arg_type
);
STRING util_arg_type_to_string(
AB_ARG_TYPE arg_type
);
AB_ARG_CLASS util_string_to_arg_class(
STRING arg_class_string
);
STRING util_arg_class_to_string(
AB_ARG_CLASS arg_class
);
AB_ARG_CLASS_FLAGS util_arg_class_to_flag(
AB_ARG_CLASS arg_class
);
AB_ARG_CLASS util_flag_to_arg_class(
AB_ARG_CLASS_FLAGS arg_flag
);
AB_LABEL_TYPE util_string_to_label_type(
STRING label_type
);
STRING util_label_type_to_string(
AB_LABEL_TYPE label_type
);
AB_OBJECT_STATE util_string_to_object_state(
STRING state
);
STRING util_object_state_to_string(
AB_OBJECT_STATE state
);
AB_OBJECT_TYPE util_string_to_object_type(
STRING type
);
STRING util_object_type_to_string(
AB_OBJECT_TYPE type
);
AB_ORIENTATION util_string_to_orientation(
STRING orientation
);
STRING util_orientation_to_string(
AB_ORIENTATION orientation
);
AB_MENU_TYPE util_string_to_menu_type(
STRING menu_type
);
STRING util_menu_type_to_string(
AB_MENU_TYPE menu_type
);
AB_BUTTON_TYPE util_string_to_button_type(
STRING button_type
);
STRING util_button_type_to_string(
AB_BUTTON_TYPE button_type
);
AB_ALIGNMENT util_string_to_alignment(
STRING alignment
);
STRING util_alignment_to_string(
AB_ALIGNMENT alignment
);
AB_GROUP_TYPE util_string_to_group_type(
STRING group_type
);
STRING util_group_type_to_string(
AB_GROUP_TYPE group_type
);
AB_CHOICE_TYPE util_string_to_choice_type(
STRING choice_type
);
STRING util_choice_type_to_string(
AB_CHOICE_TYPE choice_type
);
AB_TEXT_TYPE util_string_to_text_type(
STRING text_type
);
STRING util_text_type_to_string(
AB_TEXT_TYPE text_type
);
AB_BUILTIN_ACTION util_string_to_builtin_action(
STRING action
);
STRING util_builtin_action_to_string(
AB_BUILTIN_ACTION action
);
AB_WHEN util_string_to_when(
STRING when
);
STRING util_when_to_string(
AB_WHEN when
);
STRING util_object_type_to_browser_string(
AB_OBJECT_TYPE type
);
AB_OBJECT_TYPE util_browser_string_to_object_type(
STRING string_type
);
AB_CONTAINER_TYPE util_string_to_container_type(
STRING container_string
);
STRING util_container_type_to_string(
AB_CONTAINER_TYPE type
);
AB_ITEM_TYPE util_string_to_item_type(
STRING item_string
);
STRING util_item_type_to_string(
AB_ITEM_TYPE type
);
#endif /* _AB_UTIL_TYPES_H */