⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdl_rwops.h

📁 网络MPEG4IP流媒体开发源代码
💻 H
字号:
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Library General Public    License as published by the Free Software Foundation; either    version 2 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    Library General Public License for more details.    You should have received a copy of the GNU Library General Public    License along with this library; if not, write to the Free    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    Sam Lantinga    slouken@libsdl.org*/#ifdef SAVE_RCSIDstatic char rcsid = "@(#) $Id$";#endif/* This file provides a general interface for SDL to read and write   data sources.  It can easily be extended to files, memory, etc.*/#ifndef _SDL_RWops_h#define _SDL_RWops_h#include <stdio.h>#include "SDL_types.h"#include "begin_code.h"/* Set up for C function definitions, even when using C++ */#ifdef __cplusplusextern "C" {#endif/* This is the read/write operation structure -- very basic */typedef struct SDL_RWops {	/* Seek to 'offset' relative to whence, one of stdio's whence values:		SEEK_SET, SEEK_CUR, SEEK_END	   Returns the final offset in the data source.	 */	int (*seek)(struct SDL_RWops *context, int offset, int whence);	/* Read up to 'num' objects each of size 'objsize' from the data	   source to the area pointed at by 'ptr'.	   Returns the number of objects read, or -1 if the read failed.	 */	int (*read)(struct SDL_RWops *context, void *ptr, int size, int maxnum);	/* Write exactly 'num' objects each of size 'objsize' from the area	   pointed at by 'ptr' to data source.	   Returns 'num', or -1 if the write failed.	 */	int (*write)(struct SDL_RWops *context, const void *ptr, int size, int num);	/* Close and free an allocated SDL_FSops structure */	int (*close)(struct SDL_RWops *context);	Uint32 type;	union {	    struct {		int autoclose;	 	FILE *fp;	    } stdio;	    struct {		Uint8 *base;	 	Uint8 *here;		Uint8 *stop;	    } mem;	    struct {		void *data1;	    } unknown;	} hidden;} SDL_RWops;/* Functions to create SDL_RWops structures from various data sources */extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFile(const char *file, const char *mode);extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFP(FILE *fp, int autoclose);extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromMem(void *mem, int size);extern DECLSPEC SDL_RWops * SDLCALL SDL_AllocRW(void);extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops *area);/* Macros to easily read and write from an SDL_RWops structure */#define SDL_RWseek(ctx, offset, whence)	(ctx)->seek(ctx, offset, whence)#define SDL_RWtell(ctx)			(ctx)->seek(ctx, 0, SEEK_CUR)#define SDL_RWread(ctx, ptr, size, n)	(ctx)->read(ctx, ptr, size, n)#define SDL_RWwrite(ctx, ptr, size, n)	(ctx)->write(ctx, ptr, size, n)#define SDL_RWclose(ctx)		(ctx)->close(ctx)/* Ends C function definitions when using C++ */#ifdef __cplusplus}#endif#include "close_code.h"#endif /* _SDL_RWops_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -