95 lines
3.5 KiB
C
95 lines
3.5 KiB
C
/*
|
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
* SCR_Page.h
|
|
* Scripts, Beaudet Christophe
|
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
*
|
|
*/
|
|
|
|
#ifndef __SCR_Page_h__Types
|
|
#define __SCR_Page_h__Types
|
|
|
|
#ifndef __Only_Types__
|
|
#define __SCR_Page_h__Undef
|
|
#define __Only_Types__
|
|
#endif /* !__Only_Types__ */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Includes.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#ifdef __SCR_Mode_h__Undef
|
|
#undef __Only_Types__
|
|
#undef __SCR_Mode_h__Undef
|
|
#endif /* __SCR_Mode_h__Undef */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Constants.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
/*
|
|
* To export code.
|
|
*/
|
|
#undef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else /* CPA_WANTS_IMPORT */
|
|
#define CPA_EXPORT
|
|
#endif /* CPA_WANTS_IMPORT */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Types.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
/*
|
|
* Structure that describes a memory page.
|
|
*/
|
|
typedef struct SCR_tdst_Page_Description_
|
|
{
|
|
SCR_tdst_DyAr_Header stHeader; /* Header of element */
|
|
struct SCR_tdst_Page_Description_ *p_stNext; /* Next page */
|
|
struct SCR_tdst_Page_Description_ *p_stPrev; /* Previous page */
|
|
char *d_cBuffer; /* Buffer of page */
|
|
int iNumOfChars; /* Number of characters in page */
|
|
} SCR_tdst_Page_Description;
|
|
|
|
#endif /* !__SCR_Mode_h__Types */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Protos.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#if !defined(__SCR_Page_h__Protos) && !defined(__Only_Types__)
|
|
#define __SCR_Page_h__Protos
|
|
|
|
extern SCR_tdst_Page_Description *fnp_st_Page_Allocate(void);
|
|
extern void fn_v_Page_Free(SCR_tdst_Page_Description *);
|
|
extern void fn_v_Page_DeleteAll(SCR_tdst_File_Description *);
|
|
|
|
extern void fn_v_Page_LinkAfter(SCR_tdst_File_Description *, SCR_tdst_Page_Description *, SCR_tdst_Page_Description *);
|
|
extern void fn_v_Page_Unlink(SCR_tdst_File_Description *, SCR_tdst_Page_Description *);
|
|
extern void fn_v_Page_Split(SCR_tdst_File_Description *, SCR_tdst_Page_Description *);
|
|
|
|
extern void fn_v_Page_InsertChar(SCR_tdst_File_Description *, char);
|
|
extern void fn_v_Page_DeleteChar(SCR_tdst_File_Description *);
|
|
|
|
extern void fn_v_Page_ToNextChar(SCR_tdst_File_Description *);
|
|
extern void fn_v_Page_ToPrevChar(SCR_tdst_File_Description *);
|
|
|
|
extern void fn_v_Page_LoadFile(SCR_tdst_File_Description *);
|
|
extern void fn_v_Page_SaveFile(SCR_tdst_File_Description *);
|
|
|
|
extern void fn_v_Page_Seek(SCR_tdst_File_Description *, long, int);
|
|
|
|
#endif /* !__SCR_Page_h__Protos && !__Only_Types__ */
|