platform/skeleton.c
author Ryan C. Gordon <icculus@icculus.org>
Sun, 11 Mar 2007 10:10:28 +0000
changeset 809 116b8fe30371
parent 808 7656f86a9a2c
child 818 e36f23f49042
permissions -rw-r--r--
Renamed LICENSE to LICENSE.txt
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
 *
809
116b8fe30371 Renamed LICENSE to LICENSE.txt
Ryan C. Gordon <icculus@icculus.org>
parents: 808
diff changeset
     4
 * Please see the file LICENSE.txt in the source's root directory.
152
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
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     9
#define __PHYSICSFS_INTERNAL__
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    10
#include "physfs_internal.h"
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    11
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    12
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    13
#error DO NOT COMPILE THIS. IT IS JUST A SKELETON EXAMPLE FILE.
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    14
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
const char *__PHYSFS_platformDirSeparator = ":";
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    17
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
int __PHYSFS_platformInit(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    20
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    21
    return(1);  /* always succeed. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    22
} /* __PHYSFS_platformInit */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    23
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
int __PHYSFS_platformDeinit(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    26
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    27
    return(1);  /* always succeed. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    28
} /* __PHYSFS_platformDeinit */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    29
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    30
657
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
    31
void __PHYSFS_platformDetectAvailableCDs(PHYSFS_StringCallback cb, void *data)
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    32
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    33
} /* __PHYSFS_platformDetectAvailableCDs */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    34
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    35
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    36
char *__PHYSFS_platformCalcBaseDir(const char *argv0)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    37
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    38
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    39
} /* __PHYSFS_platformCalcBaseDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    40
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
char *__PHYSFS_platformGetUserName(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    43
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    44
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    45
} /* __PHYSFS_platformGetUserName */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    46
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
char *__PHYSFS_platformGetUserDir(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    49
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    50
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    51
} /* __PHYSFS_platformGetUserDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    52
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
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    55
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    56
    return(1);  /* single threaded. */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    57
} /* __PHYSFS_platformGetThreadID */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    58
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
int __PHYSFS_platformStricmp(const char *x, const char *y)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    61
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    62
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    63
} /* __PHYSFS_platformStricmp */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    64
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    65
596
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    66
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
    67
{
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    68
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    69
} /* __PHYSFS_platformStrnicmp */
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    70
381b6ca0dd85 Added internal function __PHYSFS_platformStrnicmp().
Ryan C. Gordon <icculus@icculus.org>
parents: 240
diff changeset
    71
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    72
int __PHYSFS_platformExists(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    73
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    74
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    75
} /* __PHYSFS_platformExists */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    76
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
int __PHYSFS_platformIsSymLink(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    79
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    80
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    81
} /* __PHYSFS_platformIsSymlink */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    82
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
int __PHYSFS_platformIsDirectory(const char *fname)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    85
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    86
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    87
} /* __PHYSFS_platformIsDirectory */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    88
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
char *__PHYSFS_platformCvtToDependent(const char *prepend,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    91
                                      const char *dirName,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    92
                                      const char *append)
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
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    95
} /* __PHYSFS_platformCvtToDependent */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    96
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
void __PHYSFS_platformTimeslice(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    99
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   100
} /* __PHYSFS_platformTimeslice */
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
657
dad3b5c307a9 Added callback APIs and ripped up the internals everywhere to use them.
Ryan C. Gordon <icculus@icculus.org>
parents: 596
diff changeset
   103
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
   104
                                     int omitSymLinks,
754
e7cd7411eadf API BREAKAGE: Changed PHYSFS_enumerateFilesCallback() to pass the originally
Ryan C. Gordon <icculus@icculus.org>
parents: 747
diff changeset
   105
                                     PHYSFS_EnumFilesCallback callback,
e7cd7411eadf API BREAKAGE: Changed PHYSFS_enumerateFilesCallback() to pass the originally
Ryan C. Gordon <icculus@icculus.org>
parents: 747
diff changeset
   106
                                     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
   107
                                     void *callbackdata)
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   108
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   109
} /* __PHYSFS_platformEnumerateFiles */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   110
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   111
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   112
char *__PHYSFS_platformCurrentDir(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   113
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   114
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   115
} /* __PHYSFS_platformCurrentDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   116
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
char *__PHYSFS_platformRealPath(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   119
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   120
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   121
} /* __PHYSFS_platformRealPath */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   122
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
int __PHYSFS_platformMkDir(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   125
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   126
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   127
} /* __PHYSFS_platformMkDir */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   128
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
void *__PHYSFS_platformOpenRead(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   131
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   132
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   133
} /* __PHYSFS_platformOpenRead */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   134
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
void *__PHYSFS_platformOpenWrite(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   137
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   138
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   139
} /* __PHYSFS_platformOpenWrite */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   140
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
void *__PHYSFS_platformOpenAppend(const char *filename)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   143
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   144
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   145
} /* __PHYSFS_platformOpenAppend */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   146
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
PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   149
                                    PHYSFS_uint32 size, PHYSFS_uint32 count)
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
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   152
} /* __PHYSFS_platformRead */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   153
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
PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   156
                                     PHYSFS_uint32 size, PHYSFS_uint32 count)
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
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   159
} /* __PHYSFS_platformWrite */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   160
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
int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   163
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   164
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   165
} /* __PHYSFS_platformSeek */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   166
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
PHYSFS_sint64 __PHYSFS_platformTell(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   169
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   170
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   171
} /* __PHYSFS_platformTell */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   172
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
PHYSFS_sint64 __PHYSFS_platformFileLength(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   175
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   176
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   177
} /* __PHYSFS_platformFileLength */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   178
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
int __PHYSFS_platformEOF(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   181
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   182
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   183
} /* __PHYSFS_platformEOF */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   184
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
int __PHYSFS_platformFlush(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   187
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   188
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   189
} /* __PHYSFS_platformFlush */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   190
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
int __PHYSFS_platformClose(void *opaque)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   193
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   194
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   195
} /* __PHYSFS_platformClose */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   196
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
int __PHYSFS_platformDelete(const char *path)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   199
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   200
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   201
} /* __PHYSFS_platformDelete */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   202
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
void *__PHYSFS_platformCreateMutex(void)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   205
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   206
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, NULL);
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   207
} /* __PHYSFS_platformCreateMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   208
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
void __PHYSFS_platformDestroyMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   211
{
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   212
} /* __PHYSFS_platformDestroyMutex */
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
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   215
int __PHYSFS_platformGrabMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   216
{
156
f45e26b5f398 Added warning about potential infinite recursion between setError and grabMutex.
Ryan C. Gordon <icculus@icculus.org>
parents: 152
diff changeset
   217
    /* 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
   218
    return(0);
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   219
} /* __PHYSFS_platformGrabMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   220
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   221
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   222
void __PHYSFS_platformReleaseMutex(void *mutex)
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   223
{
156
f45e26b5f398 Added warning about potential infinite recursion between setError and grabMutex.
Ryan C. Gordon <icculus@icculus.org>
parents: 152
diff changeset
   224
    /* not implemented, but can't call __PHYSFS_setError! */
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   225
} /* __PHYSFS_platformReleaseMutex */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   226
240
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   227
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   228
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
   229
{
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   230
    BAIL_MACRO(ERR_NOT_IMPLEMENTED, -1);
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   231
} /* __PHYSFS_platformGetLastModTime */
052041af9001 Added PHYSFS_getLastModTime() API. (Thanks, John Hall!)
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
   232
691
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   233
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   234
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
   235
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   236
    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
   237
} /* __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
   238
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
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
   241
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   242
    /* 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
   243
} /* __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
   244
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   245
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
   246
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
   247
{
763
efadd9cdb6a4 Cleaned up overflow checks in platform memory allocators (thanks to Nicolas
Ryan C. Gordon <icculus@icculus.org>
parents: 754
diff changeset
   248
    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
   249
    #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
   250
    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
   251
} /* __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
   252
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   253
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
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
   255
{
763
efadd9cdb6a4 Cleaned up overflow checks in platform memory allocators (thanks to Nicolas
Ryan C. Gordon <icculus@icculus.org>
parents: 754
diff changeset
   256
    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
   257
    #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
   258
    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
   259
} /* __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
   260
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   261
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   262
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
   263
{
71d9affe0d8a All memory management now goes through allocation hooks instead of directly to
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
   264
    #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
   265
    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
   266
} /* __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
   267
152
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   268
/* end of skeleton.c ... */
14927fc344b0 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   269