| /*---------------------------------------------------------------------------* |
| * pstdio.h * |
| * * |
| * Copyright 2007, 2008 Nuance Communciations, Inc. * |
| * * |
| * 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. * |
| * * |
| *---------------------------------------------------------------------------*/ |
| |
| #ifndef PSTDIO_H |
| #define PSTDIO_H |
| |
| |
| |
| #include <stdio.h> |
| #include "PortPrefix.h" |
| #include "ptypes.h" |
| #include "PFile.h" |
| #include "ESR_ReturnCode.h" |
| |
| /** |
| * File table structure for memory FS |
| */ |
| typedef struct FileRecord_t |
| { |
| /** |
| * file name |
| */ |
| char name[80]; |
| /** |
| * pointer to the file data |
| */ |
| unsigned char *start; |
| /** |
| * real size of the file |
| */ |
| int size; |
| /** |
| * total size in memory |
| */ |
| int memsize; |
| /** |
| * mode: 0/1: text/binary |
| */ |
| int mode; |
| } |
| FileRecord; |
| |
| #ifdef _WIN32 |
| |
| #include "direct.h" |
| #include "stdlib.h" |
| |
| /** |
| * @addtogroup ESR_PortableModule ESR_Portable API functions |
| * |
| * @{ |
| */ |
| |
| /** |
| * Platform-independant maximum filename path length. |
| */ |
| #define P_PATH_MAX _MAX_PATH |
| |
| /** |
| * Platform-independant maximum command-line length. In reality this value is shell-specific |
| * and is around 32k for WindowsNT however we can't spare that much stack-space and we assume |
| * such a large value will never actually occur so we settle for 4k instead. |
| */ |
| #define P_CMDLINE_MAX 4000 |
| /** |
| * @} |
| */ |
| |
| #else |
| |
| #if defined(PATH_MAX) |
| #define P_PATH_MAX PATH_MAX |
| #elif defined(MAXPATHLEN) |
| #define P_PATH_MAX MAXPATHLEN |
| #else |
| #error "Cannot determine value for P_PATH_MAX." |
| #endif /* PATH_MAX */ |
| |
| #endif /* _WIN32 */ |
| |
| #endif |