platform/skeleton.c
author Ryan C. Gordon <icculus@icculus.org>
Sun, 05 Nov 2006 11:10:14 +0000
changeset 785 1ea0f6549eb2
parent 763 efadd9cdb6a4
child 808 7656f86a9a2c
permissions -rw-r--r--
Initial Unicode work.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     1
/*
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     2
 * Skeleton platform-dependent support routines for PhysicsFS.
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     3
 *
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     4
 * Please see the file LICENSE in the source's root directory.
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     5
 *
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     6
 *  This file written by Ryan C. Gordon.
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     7
 */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     8
214
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 156
diff changeset
     9
#if HAVE_CONFIG_H
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 156
diff changeset
    10
#  include <config.h>
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 156
diff changeset
    11
#endif
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 156
diff changeset
    12
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    13
#define __PHYSICSFS_INTERNAL__
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    14
#include "physfs_internal.h"
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    15
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    16
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    17
#error DO NOT COMPILE THIS. IT IS JUST A SKELETON EXAMPLE FILE.
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    18
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    19
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    20
const char *__PHYSFS_platformDirSeparator = ":";
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    21
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    22
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    23
int __PHYSFS_platformInit(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    24
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    25
    return(1);  /* always succeed. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    26
} /* __PHYSFS_platformInit */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    27
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    28
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    29
int __PHYSFS_platformDeinit(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    30
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    31
    return(1);  /* always succeed. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    32
} /* __PHYSFS_platformDeinit */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    33
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    34
657
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
    35
void __PHYSFS_platformDetectAvailableCDs(PHYSFS_StringCallback cb, void *data)
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    36
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    37
} /* __PHYSFS_platformDetectAvailableCDs */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    38
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    39
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    40
char *__PHYSFS_platformCalcBaseDir(const char *argv0)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    41
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    42
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    43
} /* __PHYSFS_platformCalcBaseDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    44
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    45
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    46
char *__PHYSFS_platformGetUserName(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    47
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    48
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    49
} /* __PHYSFS_platformGetUserName */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    50
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    51
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    52
char *__PHYSFS_platformGetUserDir(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    53
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    54
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    55
} /* __PHYSFS_platformGetUserDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    56
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    57
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    58
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    59
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    60
    return(1);  /* single threaded. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    61
} /* __PHYSFS_platformGetThreadID */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    62
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    63
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    64
int __PHYSFS_platformStricmp(const char *x, const char *y)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    65
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    66
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    67
} /* __PHYSFS_platformStricmp */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    68
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    69
596
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    70
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 l)
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    71
{
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    72
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    73
} /* __PHYSFS_platformStrnicmp */
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    74
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    75
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    76
int __PHYSFS_platformExists(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    77
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    78
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    79
} /* __PHYSFS_platformExists */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    80
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    81
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    82
int __PHYSFS_platformIsSymLink(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    83
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    84
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    85
} /* __PHYSFS_platformIsSymlink */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    86
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    87
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    88
int __PHYSFS_platformIsDirectory(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    89
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    90
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    91
} /* __PHYSFS_platformIsDirectory */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    92
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    93
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    94
char *__PHYSFS_platformCvtToDependent(const char *prepend,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    95
                                      const char *dirName,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    96
                                      const char *append)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    97
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    98
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    99
} /* __PHYSFS_platformCvtToDependent */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   100
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   101
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   102
void __PHYSFS_platformTimeslice(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   103
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   104
} /* __PHYSFS_platformTimeslice */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   105
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   106
657
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
   107
void __PHYSFS_platformEnumerateFiles(const char *dirname,
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
   108
                                     int omitSymLinks,
754
e7cd7411eadf API BREAKAGE: Changed PHYSFS_enumerateFilesCallback() to pass the originally
Ryan C. Gordon <icculus@icculus.org>
parents: 747
diff changeset
   109
                                     PHYSFS_EnumFilesCallback callback,
e7cd7411eadf API BREAKAGE: Changed PHYSFS_enumerateFilesCallback() to pass the originally
Ryan C. Gordon <icculus@icculus.org>
parents: 747
diff changeset
   110
                                     const char *origdir,
657
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
   111
                                     void *callbackdata)
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   112
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   113
} /* __PHYSFS_platformEnumerateFiles */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   114
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   115
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   116
char *__PHYSFS_platformCurrentDir(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   117
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   118
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   119
} /* __PHYSFS_platformCurrentDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   120
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   121
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   122
char *__PHYSFS_platformRealPath(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   123
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   124
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   125
} /* __PHYSFS_platformRealPath */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   126
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   127
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   128
int __PHYSFS_platformMkDir(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   129
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   130
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   131
} /* __PHYSFS_platformMkDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   132
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   133
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   134
void *__PHYSFS_platformOpenRead(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   135
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   136
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   137
} /* __PHYSFS_platformOpenRead */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   138
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   139
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   140
void *__PHYSFS_platformOpenWrite(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   141
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   142
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   143
} /* __PHYSFS_platformOpenWrite */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   144
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   145
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   146
void *__PHYSFS_platformOpenAppend(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   147
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   148
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   149
} /* __PHYSFS_platformOpenAppend */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   150
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   151
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   152
PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   153
                                    PHYSFS_uint32 size, PHYSFS_uint32 count)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   154
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   155
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   156
} /* __PHYSFS_platformRead */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   157
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   158
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   159
PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   160
                                     PHYSFS_uint32 size, PHYSFS_uint32 count)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   161
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   162
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   163
} /* __PHYSFS_platformWrite */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   164
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   165
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   166
int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   167
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   168
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   169
} /* __PHYSFS_platformSeek */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   170
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   171
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   172
PHYSFS_sint64 __PHYSFS_platformTell(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   173
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   174
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   175
} /* __PHYSFS_platformTell */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   176
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   177
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   178
PHYSFS_sint64 __PHYSFS_platformFileLength(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   179
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   180
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   181
} /* __PHYSFS_platformFileLength */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   182
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   183
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   184
int __PHYSFS_platformEOF(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   185
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   186
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   187
} /* __PHYSFS_platformEOF */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   188
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   189
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   190
int __PHYSFS_platformFlush(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   191
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   192
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   193
} /* __PHYSFS_platformFlush */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   194
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   195
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   196
int __PHYSFS_platformClose(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   197
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   198
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   199
} /* __PHYSFS_platformClose */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   200
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   201
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   202
int __PHYSFS_platformDelete(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   203
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   204
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   205
} /* __PHYSFS_platformDelete */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   206
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   207
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   208
void *__PHYSFS_platformCreateMutex(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   209
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   210
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   211
} /* __PHYSFS_platformCreateMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   212
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   213
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   214
void __PHYSFS_platformDestroyMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   215
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   216
} /* __PHYSFS_platformDestroyMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   217
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   218
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   219
int __PHYSFS_platformGrabMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   220
{
156
f45e26b5f398 Added warning about potential infinite recursion between setError and grabMutex.
Ryan C. Gordon <icculus@icculus.org>
parents: 152
diff changeset
   221
    /* not implemented, but can't call __PHYSFS_setError! */
f45e26b5f398 Added warning about potential infinite recursion between setError and grabMutex.
Ryan C. Gordon <icculus@icculus.org>
parents: 152
diff changeset
   222
    return(0);
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   223
} /* __PHYSFS_platformGrabMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   224
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   225
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   226
void __PHYSFS_platformReleaseMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   227
{
156
f45e26b5f398 Added warning about potential infinite recursion between setError and grabMutex.
Ryan C. Gordon <icculus@icculus.org>
parents: 152
diff changeset
   228
    /* not implemented, but can't call __PHYSFS_setError! */
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   229
} /* __PHYSFS_platformReleaseMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   230
240
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   231
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   232
PHYSFS_sint64 __PHYSFS_platformGetLastModTime(const char *fname)
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   233
{
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   234
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   235
} /* __PHYSFS_platformGetLastModTime */
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   236
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   237
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   238
int __PHYSFS_platformAllocatorInit(void)
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   239
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   240
    return(1);  /* always succeeds. */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   241
} /* __PHYSFS_platformAllocatorInit */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   242
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   243
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   244
void __PHYSFS_platformAllocatorDeinit(void)
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   245
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   246
    /* no-op */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   247
} /* __PHYSFS_platformAllocatorInit */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   248
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   249
747
3da194b12f43 Don't use size_t in physfs.h, since it relies on C runtime headers.
Ryan C. Gordon <icculus@icculus.org>
parents: 691
diff changeset
   250
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   251
{
763
efadd9cdb6a4 Cleaned up overflow checks in platform memory allocators (thanks to Nicolas
Ryan C. Gordon <icculus@icculus.org>
parents: 754
diff changeset
   252
    BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL);
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   253
    #undef malloc
747
3da194b12f43 Don't use size_t in physfs.h, since it relies on C runtime headers.
Ryan C. Gordon <icculus@icculus.org>
parents: 691
diff changeset
   254
    return(malloc((size_t) s));
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   255
} /* __PHYSFS_platformMalloc */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   256
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   257
747
3da194b12f43 Don't use size_t in physfs.h, since it relies on C runtime headers.
Ryan C. Gordon <icculus@icculus.org>
parents: 691
diff changeset
   258
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   259
{
763
efadd9cdb6a4 Cleaned up overflow checks in platform memory allocators (thanks to Nicolas
Ryan C. Gordon <icculus@icculus.org>
parents: 754
diff changeset
   260
    BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL);
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   261
    #undef realloc
747
3da194b12f43 Don't use size_t in physfs.h, since it relies on C runtime headers.
Ryan C. Gordon <icculus@icculus.org>
parents: 691
diff changeset
   262
    return(realloc(ptr, (size_t) s));
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   263
} /* __PHYSFS_platformRealloc */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   264
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   265
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   266
void __PHYSFS_platformAllocatorFree(void *ptr)
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   267
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   268
    #undef free
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   269
    free(ptr);
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   270
} /* __PHYSFS_platformAllocatorFree */
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   271
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   272
/* end of skeleton.c ... */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   273