@@ -15,7 +15,9 @@
#include < stdio.h>
#include < stdlib.h>
#include < assert.h>
#include " physfs.h"
#define __PHYSICSFS_INTERNAL__
#include " physfs_internal.h"
/* This byteorder stuff was lifted from SDL. http://www.libsdl.org/ */
#define PHYSFS_LIL_ENDIAN 1234
@@ -118,5 +120,222 @@ PHYSFS_uint64 PHYSFS_swapUBE64(PHYSFS_uint64 x) { return(x); }
PHYSFS_sint64 PHYSFS_swapSBE64 (PHYSFS_sint64 x) { return (x); }
#endif
int PHYSFS_readSLE16 (PHYSFS_file *file, PHYSFS_sint16 *val)
{
PHYSFS_sint16 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSLE16 (in);
return (1 );
} /* PHYSFS_readSLE16 */
int PHYSFS_readULE16 (PHYSFS_file *file, PHYSFS_uint16 *val)
{
PHYSFS_uint16 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapULE16 (in);
return (1 );
} /* PHYSFS_readULE16 */
int PHYSFS_readSBE16 (PHYSFS_file *file, PHYSFS_sint16 *val)
{
PHYSFS_sint16 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSBE16 (in);
return (1 );
} /* PHYSFS_readSBE16 */
int PHYSFS_readUBE16 (PHYSFS_file *file, PHYSFS_uint16 *val)
{
PHYSFS_uint16 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapUBE16 (in);
return (1 );
} /* PHYSFS_readUBE16 */
int PHYSFS_readSLE32 (PHYSFS_file *file, PHYSFS_sint32 *val)
{
PHYSFS_sint32 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSLE32 (in);
return (1 );
} /* PHYSFS_readSLE32 */
int PHYSFS_readULE32 (PHYSFS_file *file, PHYSFS_uint32 *val)
{
PHYSFS_uint32 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapULE32 (in);
return (1 );
} /* PHYSFS_readULE32 */
int PHYSFS_readSBE32 (PHYSFS_file *file, PHYSFS_sint32 *val)
{
PHYSFS_sint32 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSBE32 (in);
return (1 );
} /* PHYSFS_readSBE32 */
int PHYSFS_readUBE32 (PHYSFS_file *file, PHYSFS_uint32 *val)
{
PHYSFS_uint32 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapUBE32 (in);
return (1 );
} /* PHYSFS_readUBE32 */
int PHYSFS_readSLE64 (PHYSFS_file *file, PHYSFS_sint64 *val)
{
PHYSFS_sint64 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSLE64 (in);
return (1 );
} /* PHYSFS_readSLE64 */
int PHYSFS_readULE64 (PHYSFS_file *file, PHYSFS_uint64 *val)
{
PHYSFS_uint64 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapULE64 (in);
return (1 );
} /* PHYSFS_readULE64 */
int PHYSFS_readSBE64 (PHYSFS_file *file, PHYSFS_sint64 *val)
{
PHYSFS_sint64 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapSBE64 (in);
return (1 );
} /* PHYSFS_readSBE64 */
int PHYSFS_readUBE64 (PHYSFS_file *file, PHYSFS_uint64 *val)
{
PHYSFS_uint64 in;
BAIL_IF_MACRO (val == NULL , ERR_INVALID_ARGUMENT, 0 );
BAIL_IF_MACRO (PHYSFS_read (file, &in, sizeof (in), 1 ) != 1 , NULL , 0 );
*val = PHYSFS_swapUBE64 (in);
return (1 );
} /* PHYSFS_readUBE64 */
int PHYSFS_writeSLE16 (PHYSFS_file *file, PHYSFS_sint16 val)
{
PHYSFS_sint16 out = PHYSFS_swapSLE16 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSLE16 */
int PHYSFS_writeULE16 (PHYSFS_file *file, PHYSFS_uint16 val)
{
PHYSFS_uint16 out = PHYSFS_swapULE16 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeULE16 */
int PHYSFS_writeSBE16 (PHYSFS_file *file, PHYSFS_sint16 val)
{
PHYSFS_sint16 out = PHYSFS_swapSBE16 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSBE16 */
int PHYSFS_writeUBE16 (PHYSFS_file *file, PHYSFS_uint16 val)
{
PHYSFS_uint16 out = PHYSFS_swapUBE16 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeUBE16 */
int PHYSFS_writeSLE32 (PHYSFS_file *file, PHYSFS_sint32 val)
{
PHYSFS_sint32 out = PHYSFS_swapSLE32 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSLE32 */
int PHYSFS_writeULE32 (PHYSFS_file *file, PHYSFS_uint32 val)
{
PHYSFS_uint32 out = PHYSFS_swapULE32 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeULE32 */
int PHYSFS_writeSBE32 (PHYSFS_file *file, PHYSFS_sint32 val)
{
PHYSFS_sint32 out = PHYSFS_swapSBE32 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSBE32 */
int PHYSFS_writeUBE32 (PHYSFS_file *file, PHYSFS_uint32 val)
{
PHYSFS_uint32 out = PHYSFS_swapUBE32 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeUBE32 */
int PHYSFS_writeSLE64 (PHYSFS_file *file, PHYSFS_sint64 val)
{
PHYSFS_sint64 out = PHYSFS_swapSLE64 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSLE64 */
int PHYSFS_writeULE64 (PHYSFS_file *file, PHYSFS_uint64 val)
{
PHYSFS_uint64 out = PHYSFS_swapULE64 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeULE64 */
int PHYSFS_writeSBE64 (PHYSFS_file *file, PHYSFS_sint64 val)
{
PHYSFS_sint64 out = PHYSFS_swapSBE64 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeSBE64 */
int PHYSFS_writeUBE64 (PHYSFS_file *file, PHYSFS_uint64 val)
{
PHYSFS_uint64 out = PHYSFS_swapUBE64 (val);
BAIL_IF_MACRO (PHYSFS_write (file, &out, sizeof (out), 1 ) != 1 , NULL , 0 );
return (1 );
} /* PHYSFS_writeUBE64 */
/* end of physfs_byteorder.c ... */