-
大小: 436KB文件類型: .gz金幣: 1下載: 0 次發布日期: 2021-05-11
- 語言: C/C++
- 標簽: expat??expat-2.0.1??C??
資源簡介
Expat 是一個用C語言開發的、用來解析XML文檔的開發庫,它最初是開源的、Mozilla 項目下的一個XML解析器。
代碼片段和文件信息
/*
**?Copyright?(c)?2001-2007?Expat?maintainers.
**
**?Permission?is?hereby?granted?free?of?charge?to?any?person?obtaining
**?a?copy?of?this?software?and?associated?documentation?files?(the
**?“Software“)?to?deal?in?the?Software?without?restriction?including
**?without?limitation?the?rights?to?use?copy?modify?merge?publish
**?distribute?sublicense?and/or?sell?copies?of?the?Software?and?to
**?permit?persons?to?whom?the?Software?is?furnished?to?do?so?subject?to
**?the?following?conditions:
**?
**?The?above?copyright?notice?and?this?permission?notice?shall?be?included
**?in?all?copies?or?substantial?portions?of?the?Software.
**?
**?THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND
**?EXPRESS?OR?IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF
**?MERCHANTABILITY?FITNESS?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.
**?IN?NO?EVENT?SHALL?THE?AUTHORS?OR?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY
**?CLAIM?DAMAGES?OR?OTHER?LIABILITY?WHETHER?IN?AN?ACTION?OF?CONTRACT
**?TORT?OR?OTHERWISE?ARISING?FROM?OUT?OF?OR?IN?CONNECTION?WITH?THE
**?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN?THE?SOFTWARE.
*/
#include?
#include?
#define?LIBNAME “expat.library“
#define?LIBPRI 0
#define?VERSION 4
#define?REVISION 2
#define?VSTRING “expat.library?4.2?(2.6.2007)“??/*?dd.mm.yyyy?*/
static?const?char*?__attribute__((used))?verstag?=?“\0$VER:?“?VSTRING;
struct?Expatbase?{
struct?Library?libNode;
uint16?pad;
BPTR?SegList;
};
struct?Expatbase?*?libInit(struct?Expatbase?*libbase?BPTR?seglist?struct?ExecIFace?*ISys);
uint32?libObtain?(struct?LibraryManagerInterface?*Self);
uint32?libRelease?(struct?LibraryManagerInterface?*Self);
struct?Expatbase?*libOpen?(struct?LibraryManagerInterface?*Self?uint32?version);
BPTR?libClose?(struct?LibraryManagerInterface?*Self);
BPTR?libExpunge?(struct?LibraryManagerInterface?*Self);
static?APTR?lib_manager_vectors[]?=?{
libObtain
libRelease
NULL
NULL
libOpen
libClose
libExpunge
NULL
(APTR)-1
};
static?struct?TagItem?lib_managerTags[]?=?{
{?MIT_Name?(uint32)“__library“?}
{?MIT_VectorTable?(uint32)lib_manager_vectors?}
{?MIT_Version?1?}
{?TAG_END?0?}
};
extern?void?*main_vectors[];
static?struct?TagItem?lib_mainTags[]?=?{
{?MIT_Name?(uint32)“main“?}
{?MIT_VectorTable?(uint32)main_vectors?}
{?MIT_Version?1?}
{?TAG_END?0?}
};
static?APTR?libInterfaces[]?=?{
lib_managerTags
lib_mainTags
NULL
};
static?struct?TagItem?libCreateTags[]?=?{
{?CLT_DataSize?sizeof(struct?Expatbase)?}
{?CLT_InitFunc?(uint32)libInit?}
{?CLT_Interfaces?(uint32)libInterfaces?}
{?TAG_END?0?}
};
static?struct?Resident?__attribute__((used))?lib_res?=?{
RTC_MATCHWORD //?rt_MatchWord
&lib_res //?rt_MatchTag
&lib_res+1 //?rt_EndSkip
RTF_NATIVE?|?RTF_AUTOINIT //?rt_Flags
VERSION //?rt_Version
NT_LIBRARY //?rt_Type
LIBPRI //?rt_Pri
LIBNAME //?rt_Name
VSTRING //?rt_IdString
libCreateTags //?rt_Init
};
struct?Library?*DOS
評論
共有 條評論