which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			145 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /* apihelp.c */
 | ||
| 
 | ||
| #ifdef API_DOC
 | ||
| 
 | ||
| #define UNZIP_INTERNAL
 | ||
| #include "unzip.h"
 | ||
| #include "version.h"
 | ||
| 
 | ||
| 
 | ||
| APIDocStruct APIDoc[] = {
 | ||
|     {
 | ||
|         "UZPVERSION"  , "UzpVersion"  ,
 | ||
|         "UzpVer *UzpVersion(void);",
 | ||
|         "Get version numbers of the API and the underlying UnZip code.\n\n"
 | ||
|         "\t\tThis is used for comparing the version numbers of the run-time\n"
 | ||
|         "\t\tDLL code with those expected from the unzip.h at compile time.\n"
 | ||
|         "\t\tIf the version numbers don't match, there may be compatibility\n"
 | ||
|         "\t\tproblems with further use of the DLL.\n\n"
 | ||
|         "  Example:\t/* Check the major version number of the DLL code. */\n"
 | ||
|         "\t\tUzpVer *pVersion;\n"
 | ||
|         "\t\tpVersion = UzpVersion();\n"
 | ||
|         "\t\tif (pVersion->unzip.major != UZ_MAJORVER)\n"
 | ||
|         "\t\t  fprintf(stderr, \"error: using wrong version of DLL\\n\");\n\n"
 | ||
|         "\t\tSee unzip.h for details and unzipstb.c for an example.\n"
 | ||
|     },
 | ||
|   
 | ||
|     {
 | ||
|         "UZPMAIN"  , "UzpMain"  ,
 | ||
|         "int UzpMain(int argc, char *argv[]);",
 | ||
|         "Provide a direct entry point to the command line interface.\n\n"
 | ||
|         "\t\tThis is used by the UnZip stub but you can use it in your\n"
 | ||
|         "\t\town program as well.  Output is sent to stdout.\n"
 | ||
|         "\t\t0 on return indicates success.\n\n"
 | ||
|         "  Example:\t/* Extract 'test.zip' silently, junking paths. */\n"
 | ||
|         "\t\tchar *argv[] = { \"-q\", \"-j\", \"test.zip\" };\n"
 | ||
|         "\t\tint argc = 3;\n"
 | ||
|         "\t\tif (UzpMain(argc,argv))\n"
 | ||
|         "\t\t  printf(\"error: unzip failed\\n\");\n\n"
 | ||
|         "\t\tSee unzip.h for details.\n"
 | ||
|     },
 | ||
|   
 | ||
|     {
 | ||
|         "UZPALTMAIN"  , "UzpAltMain"  ,
 | ||
|         "int UzpAltMain(int argc, char *argv[], UzpInit *init);",
 | ||
|         "Provide a direct entry point to the command line interface,\n"
 | ||
|         "optionally installing replacement I/O handler functions.\n\n"
 | ||
|         "\t\tAs with UzpMain(), output is sent to stdout by default.\n"
 | ||
|         "\t\t`InputFn *inputfn' is not yet implemented.  0 on return\n"
 | ||
|         "\t\tindicates success.\n\n"
 | ||
|         "  Example:\t/* Replace normal output and `more' functions. */\n"
 | ||
|         "\t\tchar *argv[] = { \"-q\", \"-j\", \"test.zip\" };\n"
 | ||
|         "\t\tint argc = 3;\n"
 | ||
|         "\t\tUzpInit init = { 16, MyMessageFn, NULL, MyPauseFn };\n"
 | ||
|         "\t\tif (UzpAltMain(argc,argv,&init))\n"
 | ||
|         "\t\t  printf(\"error: unzip failed\\n\");\n\n"
 | ||
|         "\t\tSee unzip.h for details.\n"
 | ||
|     },
 | ||
|   
 | ||
|     {
 | ||
|         "UZPUNZIPTOMEMORY", "UzpUnzipToMemory",
 | ||
|         "int UzpUnzipToMemory(char *zip, char *file, UzpBuffer *retstr);",
 | ||
|         "Pass the name of the zip file and the name of the file\n"
 | ||
|         "\t\tyou wish to extract.  UzpUnzipToMemory will create a\n"
 | ||
|         "\t\tbuffer and return it in *retstr;  0 on return indicates\n"
 | ||
|         "\t\tfailure.\n\n"
 | ||
|         "\t\tSee unzip.h for details.\n"
 | ||
|     },
 | ||
|   
 | ||
|     {
 | ||
|         "UZPFILETREE", "UzpFileTree",
 | ||
|         "int UzpFileTree(char *name, cbList(callBack),\n"
 | ||
|         "\t\t\tchar *cpInclude[], char *cpExclude[]);",
 | ||
|         "Pass the name of the zip file, a callback function, an\n"
 | ||
|         "\t\tinclude and exclude file list. UzpUnzipToMemory calls\n"
 | ||
|         "\t\tthe callback for each valid file found in the zip file.\n"
 | ||
|         "\t\t0 on return indicates failure.\n\n"
 | ||
|         "\t\tSee unzip.h for details.\n"
 | ||
|     },
 | ||
|   
 | ||
|     { 0 }
 | ||
| };
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| int function_help(__G__ doc, fname)
 | ||
|     __GDEF
 | ||
|     APIDocStruct *doc;
 | ||
|     char *fname;
 | ||
| {
 | ||
|     strcpy(slide, fname);
 | ||
|     strupr(slide);
 | ||
|     while (doc->compare && strcmp(doc->compare,slide))
 | ||
|         doc++;
 | ||
|     if (!doc->compare)
 | ||
|         return 0;
 | ||
|     else
 | ||
|         Info(slide, 0, ((char *)slide,
 | ||
|           "  Function:\t%s\n\n  Syntax:\t%s\n\n  Purpose:\t%s",
 | ||
|           doc->function, doc->syntax, doc->purpose));
 | ||
| 
 | ||
|     return 1;
 | ||
| }  
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| void APIhelp(__G__ argc, argv)
 | ||
|     __GDEF
 | ||
|     int argc;
 | ||
|     char **argv;
 | ||
| {
 | ||
|     if (argc > 1) {
 | ||
|         struct APIDocStruct *doc;
 | ||
| 
 | ||
|         if (function_help(__G__ APIDoc, argv[1]))
 | ||
|             return;
 | ||
| #ifdef SYSTEM_API_DETAILS
 | ||
|         if (function_help(__G__ SYSTEM_API_DETAILS, argv[1]))
 | ||
|             return;
 | ||
| #endif
 | ||
|         Info(slide, 0, ((char *)slide,
 | ||
|           "%s is not a documented command.\n\n", argv[1]));
 | ||
|     }
 | ||
| 
 | ||
|     Info(slide, 0, ((char *)slide, "\
 | ||
| This API provides a number of external C and REXX functions for handling\n\
 | ||
| zipfiles in OS/2.  Programmers are encouraged to expand this API.\n\
 | ||
| \n\
 | ||
| C functions: -- See unzip.h for details\n\
 | ||
|   UzpVer *UzpVersion(void);\n\
 | ||
|   int UzpMain(int argc, char *argv[]);\n\
 | ||
|   int UzpAltMain(int argc, char *argv[], UzpInit *init);\n\
 | ||
|   int UzpUnzipToMemory(char *zip, char *file, UzpBuffer *retstr);\n\
 | ||
|   int UzpFileTree(char *name, cbList(callBack),\n\
 | ||
|                   char *cpInclude[], char *cpExclude[]);\n\n"));
 | ||
| 
 | ||
| #ifdef SYSTEM_API_BRIEF
 | ||
|     Info(slide, 0, ((char *)slide, SYSTEM_API_BRIEF));
 | ||
| #endif
 | ||
| 
 | ||
|     Info(slide, 0, ((char *)slide,
 | ||
|       "\nFor more information, type 'unzip -A <function-name>'\n"));
 | ||
| }
 | ||
| 
 | ||
| #endif /* API_DOC */
 |