STATUS CS_suspend_session_set( i4 offset, i4 lsbuf, char *sbuf, i4 size, PTR object ) { CS_SCB *an_scb; STATUS stat; stat = CS_mod_session( sbuf, &an_scb ); if( stat == OK && (stat = CS_is_internal( an_scb )) == OK ) an_scb->cs_state = CS_UWAIT; return( stat ); }
STATUS CS_rm_session_set(i4 offset, i4 lsbuf, char *sbuf, i4 size, PTR object) { CS_SCB *an_scb; STATUS stat; stat = CS_mod_session(sbuf, &an_scb); if (stat == OK && (stat = CS_is_internal(an_scb)) == OK) { CSremove((i4 ) an_scb->cs_self); CSattn(CS_REMOVE_EVENT, (i4 ) an_scb->cs_self); } return (stat); }
STATUS CS_resume_session_set(i4 offset, i4 lsbuf, char *sbuf, i4 size, PTR object) { CS_SCB *an_scb; STATUS stat; stat = CS_mod_session(sbuf, &an_scb); if (stat == OK && (stat = CS_is_internal(an_scb)) == OK) { if (an_scb->cs_state != CS_UWAIT) { /* FIXME -- better status */ /* "Session %x was not suspended", */ stat = FAIL; } else { an_scb->cs_state = CS_COMPUTABLE; } } return (stat); }