added qse_getxlirootxtn(), QSE_XLI_ROOTXTNSIZE as well as the rootxtnsize parameter to multiple initialization functions

This commit is contained in:
2013-09-20 07:18:26 +00:00
parent 99d0e04879
commit 72fd080f70
7 changed files with 69 additions and 31 deletions

View File

@ -97,7 +97,8 @@ extern "C" {
* over qse_xli_open() if you don't need finer-grained customization.
*/
QSE_EXPORT qse_xli_t* qse_xli_openstd (
qse_size_t xtnsize /**< extension size in bytes */
qse_size_t xtnsize, /**< extension size in bytes */
qse_size_t rootxtnsize /**< extension size in bytes for the root list node */
);
/**
@ -107,7 +108,8 @@ QSE_EXPORT qse_xli_t* qse_xli_openstd (
*/
QSE_EXPORT qse_xli_t* qse_xli_openstdwithmmgr (
qse_mmgr_t* mmgr, /**< memory manager */
qse_size_t xtnsize /**< extension size in bytes */
qse_size_t xtnsize, /**< extension size in bytes */
qse_size_t rootxtnsize /**< extension size in bytes for the root list node */
);
/**

View File

@ -68,13 +68,21 @@ typedef enum qse_xli_errnum_t qse_xli_errnum_t;
*/
typedef const qse_char_t* (*qse_xli_errstr_t) (
const qse_xli_t* xli, /**< stream editor */
qse_xli_errnum_t num /**< an error number */
qse_xli_errnum_t num /**< error number */
);
enum qse_xli_opt_t
{
QSE_XLI_TRAIT,
QSE_XLI_PAIRXTNSIZE
QSE_XLI_PAIRXTNSIZE,
/**
* the size of extension area associated with the root list node.
* you can get the pointer to the extension with qse_getxlirootxtn().
* the new size set takes effect after the call to qse_xli_yieldroot().
*/
QSE_XLI_ROOTXTNSIZE
};
typedef enum qse_xli_opt_t qse_xli_opt_t;
@ -325,7 +333,8 @@ extern "C" {
QSE_EXPORT qse_xli_t* qse_xli_open (
qse_mmgr_t* mmgr,
qse_size_t xtnsize
qse_size_t xtnsize,
qse_size_t rootxtnsize
);
QSE_EXPORT void qse_xli_close (
@ -644,6 +653,10 @@ QSE_EXPORT void* qse_getxlipairxtn (
qse_xli_pair_t* pair
);
QSE_EXPORT void* qse_getxlirootxtn (
qse_xli_list_t* root
);
/**
* The qse_freexliroot() function frees the root list acquired with qse_xli_yeildroot().
*/