added unicode trait and case functions.

fixed some code for os2
This commit is contained in:
2012-12-06 13:02:46 +00:00
parent d0dd9a3347
commit 4ccc843e6b
34 changed files with 29503 additions and 691 deletions

View File

@ -89,6 +89,16 @@ struct qse_mux_t
qse_size_t capa;
} ee;
struct
{
qse_mux_evt_t** ptr;
int ubound;
} me;
#elif defined(__OS2__)
int fdarr;
int rsize;
int wsize;
struct
{
qse_mux_evt_t** ptr;
@ -131,27 +141,27 @@ static qse_mux_errnum_t syserr_to_errnum (DWORD e)
}
}
#elif defined(__OS2__)
static qse_mux_errnum_t syserr_to_errnum (APIRET e)
static qse_mux_errnum_t syserr_to_errnum (int e)
{
switch (e)
{
case ERROR_NOT_ENOUGH_MEMORY:
case SOCENOMEM:
return QSE_MUX_ENOMEM;
case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME:
case SOCEINVAL:
return QSE_MUX_EINVAL;
case ERROR_ACCESS_DENIED:
case SOCEACCES:
return QSE_MUX_EACCES;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
case SOCENOENT:
return QSE_MUX_ENOENT;
case ERROR_ALREADY_EXISTS:
case SOCEEXIST:
return QSE_MUX_EEXIST;
case SOCEINTR:
return QSE_MUX_EINTR;
default:
return QSE_MUX_ESYSERR;
@ -272,6 +282,11 @@ int qse_mux_init (qse_mux_t* mux, qse_mmgr_t* mmgr, qse_mux_evtfun_t evtfun, qse
if (flag >= 0) fcntl (mux->fd, F_SETFD, flag | FD_CLOEXEC);
}
#endif
#elif defined(__OS2__)
mux->errnum = QSE_MUX_ENOIMPL;
return -1;
#else
/* TODO: */
mux->errnum = QSE_MUX_ENOIMPL;
@ -458,6 +473,9 @@ int qse_mux_insert (qse_mux_t* mux, const qse_mux_evt_t* evt)
*mux->me.ptr[evt->hnd] = *evt;
mux->ee.len++;
return 0;
#elif defined(__OS2__)
mux->errnum = QSE_MUX_ENOIMPL;
return -1;
#else
/* TODO: */
mux->errnum = QSE_MUX_ENOIMPL;
@ -526,6 +544,12 @@ done:
mux->ee.len--;
return 0;
#elif defined(__OS2__)
/* TODO */
mux->errnum = QSE_MUX_ENOIMPL;
return -1;
#else
/* TODO */
mux->errnum = QSE_MUX_ENOIMPL;
@ -550,6 +574,8 @@ int qse_mux_poll (qse_mux_t* mux, const qse_ntime_t* tmout)
{
#if defined(_WIN32)
mux->errnum = syserr_to_errnum(WSAGetLastError());
#elif defined(__OS2__)
mux->errnum = syserr_to_errnum(sock_errno());
#else
mux->errnum = syserr_to_errnum(errno);
#endif
@ -614,6 +640,27 @@ int qse_mux_poll (qse_mux_t* mux, const qse_ntime_t* tmout)
return nfds;
#elif defined(__OS2__)
/*
long tv;
int n;
tv = QSE_SEC_TO_MSEC(nwio->tmout.r.sec) + QSE_NSEC_TO_MSEC (nwio->tmout.r.nsec);
n = os2_select (handle_array, read_count, write_count, 0, &tv);
if (n < = 1)
{
mux->errnum = syserr_to_errnum(sock_errno());
return -1;
}
return n;
*/
mux->errnum = QSE_MUX_ENOIMPL;
return -1;
#else
/* TODO */
mux->errnum = QSE_MUX_ENOIMPL;