You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.0 KiB
76 lines
2.0 KiB
/* |
|
Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization |
|
dedicated to making software imaging solutions freely available. |
|
|
|
You may not use this file except in compliance with the License. |
|
obtain a copy of the License at |
|
|
|
http://www.imagemagick.org/script/license.php |
|
|
|
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. |
|
|
|
MagickWand convert command-line method. |
|
*/ |
|
#ifndef _SCRIPT_TOKEN_H |
|
#define _SCRIPT_TOKEN_H |
|
|
|
#if defined(__cplusplus) || defined(c_plusplus) |
|
extern "C" { |
|
#endif |
|
|
|
/* Status of the Stream */ |
|
typedef enum { |
|
TokenStatusOK = 0, |
|
TokenStatusEOF, |
|
TokenStatusBadQuotes, |
|
TokenStatusBinary, |
|
TokenStatusMemoryFailed |
|
} TokenStatus; |
|
|
|
/* Initial length is MagickPathExtent/64 => 64 (divisor is a power of 4) |
|
most tokens are never larger than this, so no need to waste memory! |
|
Also no CLI option is larger than about 40 characters! |
|
*/ |
|
#define INITAL_TOKEN_LENGTH 64 |
|
typedef struct |
|
{ |
|
FILE |
|
*stream; /* the file stream we are reading from */ |
|
|
|
MagickBooleanType |
|
opened; /* was that stream opened? */ |
|
|
|
char |
|
*token; /* array of characters to holding details of he token */ |
|
|
|
size_t |
|
length, /* length of token char array */ |
|
curr_line, /* current location in script file */ |
|
curr_column, |
|
token_line, /* start of last token (option or argument) */ |
|
token_column; |
|
|
|
TokenStatus |
|
status; /* Have we reached EOF? see Token Status */ |
|
|
|
size_t |
|
signature; |
|
} ScriptTokenInfo; |
|
|
|
|
|
extern WandExport ScriptTokenInfo |
|
*AcquireScriptTokenInfo(const char *), |
|
*DestroyScriptTokenInfo(ScriptTokenInfo *); |
|
|
|
extern WandExport MagickBooleanType |
|
GetScriptToken(ScriptTokenInfo *); |
|
|
|
#if defined(__cplusplus) || defined(c_plusplus) |
|
} |
|
#endif |
|
|
|
#endif
|
|
|