1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
/*
* WCMD - Wine-compatible command line interface.
*
* Copyright (C) 1999 D A Pickles
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it 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 this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#define IDI_ICON1 1
#include <windows.h>
#ifndef RC_INVOKED
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>
#ifdef WINELIB
#include <winbase.h>
#include <wincon.h>
#endif /* !WINELIB */
void WCMD_batch (char *, char *, int);
void WCMD_change_tty (void);
void WCMD_clear_screen (void);
void WCMD_copy (void);
void WCMD_create_dir (void);
void WCMD_delete (int recurse);
void WCMD_directory (void);
void WCMD_echo (char *);
void WCMD_for (char *);
void WCMD_give_help (char *command);
void WCMD_goto (void);
void WCMD_if (char *);
void WCMD_move (void);
void WCMD_output (char *format, ...);
void WCMD_output_asis (char *message);
void WCMD_parse (char *s, char *q, char *p1, char *p2);
void WCMD_pause (void);
void WCMD_pipe (char *command);
void WCMD_print_error (void);
void WCMD_process_command (char *command);
int WCMD_read_console (char *string, int str_len);
void WCMD_remove_dir (void);
void WCMD_rename (void);
void WCMD_run_program (char *command);
void WCMD_setshow_attrib (void);
void WCMD_setshow_date (void);
void WCMD_setshow_default (void);
void WCMD_setshow_env (char *command);
void WCMD_setshow_path (void);
void WCMD_setshow_prompt (void);
void WCMD_setshow_time (void);
void WCMD_shift (void);
void WCMD_show_prompt (void);
void WCMD_type (void);
void WCMD_verify (char *command);
void WCMD_version (void);
int WCMD_volume (int mode, char *command);
char *WCMD_fgets (char *s, int n, HANDLE stream);
char *WCMD_parameter (char *s, int n, char **where);
char *WCMD_strtrim_leading_spaces (char *string);
void WCMD_strtrim_trailing_spaces (char *string);
/* Data structure to hold context when executing batch files */
typedef struct {
char *command; /* The command which invoked the batch file */
HANDLE h; /* Handle to the open batch file */
int shift_count; /* Number of SHIFT commands executed */
void *prev_context; /* Pointer to the previous context block */
} BATCH_CONTEXT;
#endif /* !RC_INVOKED */
/*
* Serial nos of builtin commands. These constants must be in step with
* the list of strings defined in WCMD.C, and WCMD_EXIT *must* always be
* the last one.
*
* Yes it *would* be nice to use an enumeration here, but the Resource
* Compiler won't accept resource IDs from enumerations :-(
*/
#define WCMD_ATTRIB 0
#define WCMD_CALL 1
#define WCMD_CD 2
#define WCMD_CHDIR 3
#define WCMD_CLS 4
#define WCMD_COPY 5
#define WCMD_CTTY 6
#define WCMD_DATE 7
#define WCMD_DEL 8
#define WCMD_DIR 9
#define WCMD_ECHO 10
#define WCMD_ERASE 11
#define WCMD_FOR 12
#define WCMD_GOTO 13
#define WCMD_HELP 14
#define WCMD_IF 15
#define WCMD_LABEL 16
#define WCMD_MD 17
#define WCMD_MKDIR 18
#define WCMD_MOVE 19
#define WCMD_PATH 20
#define WCMD_PAUSE 21
#define WCMD_PROMPT 22
#define WCMD_REM 23
#define WCMD_REN 24
#define WCMD_RENAME 25
#define WCMD_RD 26
#define WCMD_RMDIR 27
#define WCMD_SET 28
#define WCMD_SHIFT 29
#define WCMD_TIME 30
#define WCMD_TYPE 31
#define WCMD_VERIFY 32
#define WCMD_VER 33
#define WCMD_VOL 34
#define WCMD_EXIT 35
|