| /* -*-C-*- |
| ******************************************************************************** |
| * |
| * File: cutil.h |
| * Description: General utility functions |
| * Author: Mark Seaman, SW Productivity |
| * Created: Fri Oct 16 14:37:00 1987 |
| * Modified: Wed Dec 5 15:40:26 1990 (Mark Seaman) marks@hpgrlt |
| * Language: C |
| * Package: N/A |
| * Status: Reusable Software Component |
| * |
| * (c) Copyright 1987, Hewlett-Packard Company. |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| * |
| ******************************************************************************** |
| Revision 1.1 2007/02/02 23:39:07 theraysmith |
| Fixed portability issues |
| |
| Revision 1.1.1.1 2004/02/20 19:39:06 slumos |
| Import original HP distribution |
| |
| */ |
| |
| #ifndef CUTILH |
| #define CUTILH |
| |
| /*---------------------------------------------------------------------- |
| I n c l u d e s |
| ----------------------------------------------------------------------*/ |
| #include <stdio.h> |
| #include <string.h> |
| #include <stdlib.h> |
| |
| #include "general.h" |
| #include "tprintf.h" |
| |
| /*---------------------------------------------------------------------- |
| T y p e s |
| ----------------------------------------------------------------------*/ |
| #ifndef TRUE |
| #define TRUE 1 |
| #endif |
| |
| #ifndef FALSE |
| #define FALSE 0 |
| #endif |
| |
| #define CHARS_PER_LINE 500 |
| |
| #if defined(__STDC__) || defined(__cplusplus) || MAC_OR_DOS |
| # define _ARGS(s) s |
| #else |
| # define _ARGS(s) () |
| #endif |
| |
| //typedef int (*int_proc) (void); |
| typedef void (*void_proc) (...); |
| typedef void *(*void_star_proc) _ARGS ((...)); |
| |
| typedef int (*int_void) (void); |
| typedef void (*void_void) (void); |
| typedef int (*int_compare) (void *, void *); |
| typedef void (*void_dest) (void *); |
| |
| /*---------------------------------------------------------------------- |
| M a c r o s |
| ----------------------------------------------------------------------*/ |
| /********************************************************************** |
| * new_line |
| * |
| * Print a new line character on stdout. |
| **********************************************************************/ |
| |
| #define new_line() \ |
| tprintf("\n") |
| |
| /********************************************************************** |
| * print_string |
| * |
| * Print a string on stdout. |
| **********************************************************************/ |
| |
| #define print_string(str) \ |
| printf ("%s\n", str) |
| |
| /********************************************************************** |
| * strfree |
| * |
| * Reserve a spot in memory for the string to be stored. Copy the string |
| * to it and return the result. |
| **********************************************************************/ |
| |
| #define strfree(s) (free_string(s)) |
| |
| /********************************************************************** |
| * strsave |
| * |
| * Reserve a spot in memory for the string to be stored. Copy the string |
| * to it and return the result. |
| **********************************************************************/ |
| |
| #define strsave(s) \ |
| ((s) != NULL ? \ |
| ((char*) strcpy (alloc_string(strlen(s)+1), s)) : \ |
| (NULL)) |
| |
| /*---------------------------------------------------------------------- |
| F u n c t i o n s |
| ----------------------------------------------------------------------*/ |
| long long_rand(long limit); |
| |
| FILE *open_file(const char *filename, const char *mode); |
| |
| /* util.c |
| long long_rand |
| _ARGS ((long limit)); |
| |
| FILE *open_file |
| _ARGS((char *filename, |
| char *mode)); |
| |
| #undef _ARGS |
| */ |
| #include "cutil_class.h" |
| #endif |