/* setlogmask -- set the log mask level */ int setlogmask(int pmask) { ULONG taglist[5]; taglist[0] = SBTM_GETVAL(SBTC_LOGMASK); taglist[2] = SBTM_SETVAL(SBTC_LOGMASK); taglist[3] = pmask; taglist[4] = TAG_END; SocketBaseTagList((struct TagItem *)taglist); return (int)taglist[1]; }
long tcp_herrno(void) { long id; #if defined(_DCC) || defined(__MORPHOS__) struct TagItem tags[2]={{0, 0}, {TAG_DONE, 0}}; tags[0].ti_Tag=(ULONG)SBTM_GETREF(SBTC_HERRNO); tags[0].ti_Data=(ULONG)&id; if(SocketBaseTagList(tags) != 0) #else if(SocketBaseTags( SBTM_GETREF(SBTC_HERRNO), (ULONG)&id, TAG_DONE) != 0) #endif { id = -1; } return id; }
char * strerror(int error) #endif { ULONG taglist[3]; if(!checksocketlib()) { /* cannot use bsdsocket.lib's error strings, use those from SAS */ PyErr_Clear(); if(error>=0 && error<=34) return __sys_errlist[error]; if(error==ELOOP) return "Too many levels of links"; /* link loop */ else return __sys_errlist[0]; } taglist[0] = SBTM_GETVAL(SBTC_ERRNOSTRPTR); taglist[1] = error; taglist[2] = TAG_END; SocketBaseTagList((struct TagItem *)taglist); return (char *)taglist[1]; }