From d3a53b82aa57f5090d95b69e6f567b06eb544df9 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Sun, 10 Feb 2013 20:06:08 +0100 Subject: initial commit of 1.13 sources --- test/testsuppt.h | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 test/testsuppt.h (limited to 'test/testsuppt.h') diff --git a/test/testsuppt.h b/test/testsuppt.h new file mode 100644 index 0000000..142a676 --- /dev/null +++ b/test/testsuppt.h @@ -0,0 +1,211 @@ +/****************************************************************************** + + (C) Nick Marley, 2001 - + + This software is distributed under the GNU Lesser General Public Licence. + Please read and understand the comments at the top of vf_iface.h before use! + +FILE + $Workfile$ + $Revision: 1.3 $ + $Author: tilda $ + +ORIGINAL AUTHOR + Nick Marley + +DESCRIPTION + Platform dependant functions supporting vformat library test harness. + + A typical usage for the file find functions is as follows: + + if (find_first_file(...)) + { + do + { + something_worthwhile(); + } + while (find_next_file(...)) + ; + + close_file_find(...); + } + + The only reason this exists is 'cos I like to keep the core test harness + code platform independant. + +REFERENCES + (none) + +MODIFICATION HISTORY + $Log: testsuppt.h,v $ + Revision 1.3 2002/11/14 20:14:25 tilda + Minot tidy ups to WIN32 versions. + + Revision 1.2 2002/11/11 17:23:08 monos + run testing harness on linux systems + + Revision 1.1 2001/10/12 19:02:15 tilda + Moved generic test functions to new file + * + *******************************************************************************/ + +#ifndef NORCSID +static const char testsuppt_h_vss_id[] = "$Header: /cvsroot/vformat/build/vformat/testsuppt.h,v 1.3 2002/11/14 20:14:25 tilda Exp $"; +#endif + +/*=============================================================================* + Public Includes + *=============================================================================*/ + +#if defined(WIN) || defined(WIN32) +#include +#else +#include +#endif + +/*============================================================================* + Public Defines + *============================================================================*/ + +#ifndef _MAX_PATH +#define _MAX_PATH (256) +#endif + +/*============================================================================* + Private Data Types + *============================================================================*/ + +typedef struct +{ +#if defined(WIN) || defined(WIN32) + WIN32_FIND_DATA fd; + HANDLE h; + char *p_dirname; +#else + glob_t h; +#endif +} +file_enum_t; + +typedef struct +{ + size_t size; + char *p_data; +} +file_image_t; + +/*============================================================================* + Public Functions + *============================================================================*/ + + +/*----------------------------------------------------------------------------* + * NAME + * find_first_file() + * + * DESCRIPTION + * Locate (initialise search for) first file of indicated pattern in + * directory. If find_first_file() returns TRUE, users should call + * do whatever they wer going to do with the file that's located and + * then continue their search using find_next_file(). + * + * RETURNS + * TRUE <=> first file found, FALSE else. + *----------------------------------------------------------------------------*/ + +extern bool_t find_first_file( + char *p_name, /* Name of file found (output) */ + file_enum_t *p_enum, /* Pointer to enumerator */ + const char *p_dirname, /* Directory we're searching in */ + const char *p_pattern /* Pattern we're searching for */ + ); + + + +/*----------------------------------------------------------------------------* + * NAME + * find_next_file() + * + * DESCRIPTION + * Continues a search initialised by find_first_file(). Users should + * call find_next_file() until it returns FALSE, then close_file_find(). + * + * RETURNS + * TRUE <=> next file found, FALSE else. + *----------------------------------------------------------------------------*/ + +extern bool_t find_next_file( + char *p_name, /* Name of file found (output) */ + file_enum_t *p_enum /* Pointer to enumerator */ + ); + + + +/*----------------------------------------------------------------------------* + * NAME + * close_file_find() + * + * DESCRIPTION + * Close the file search. Free memory, close handles etc. The enumerator + * is ready for another call to find_first_file(). User should always + * call close_file_find() if find_first_file() returns TRUE or resources + * may be leaked. + * + * RETURNS + * (none) + *----------------------------------------------------------------------------*/ + +extern void close_file_find( + file_enum_t *p_enum /* Pointer to enumerator */ + ); + + + +/*----------------------------------------------------------------------------* + * NAME + * filecomp() + * + * DESCRIPTION + * Compare files. + * + * RETURNS + * 0 <=> contents of files is the same, != 0 else. + *----------------------------------------------------------------------------*/ + +extern int filecomp( + const char *p_file1, /* Name of first file */ + const char *p_file2 /* Name of second file */ + ); + + +/*----------------------------------------------------------------------------* + * NAME + * get_file_image() + * + * DESCRIPTION + * Load file into memory. + * + * RETURNS + * TRUE <=> file i/o successful, FALSE else. + *----------------------------------------------------------------------------*/ + +extern bool_t get_file_image( + file_image_t *p, /* Info on file (output) */ + const char *p_name /* Name of file */ + ); + + +/*----------------------------------------------------------------------------* + * NAME + * free_file_image() + * + * DESCRIPTION + * Free up resources allocated to a file image. + * + * RETURNS + * (none) + *----------------------------------------------------------------------------*/ + +extern void free_file_image( + file_image_t *p /* Info on file (output) */ + ); -- cgit v1.1-32-gdbae