int decode_DIS_JobFile( int sock, struct batch_request *preq) { int rc; size_t amt; preq->rq_ind.rq_jobfile.rq_data = 0; preq->rq_ind.rq_jobfile.rq_sequence = disrui(sock, &rc); if (rc) { return(rc); } preq->rq_ind.rq_jobfile.rq_type = disrui(sock, &rc); if (rc) { return(rc); } preq->rq_ind.rq_jobfile.rq_size = disrui(sock, &rc); if (rc) { return(rc); } if ((rc = disrfst(sock, PBS_MAXSVRJOBID + 1, preq->rq_ind.rq_jobfile.rq_jobid)) != 0) { return(rc); } preq->rq_ind.rq_jobfile.rq_data = disrcs(sock, &amt, &rc); if (((long)amt != preq->rq_ind.rq_jobfile.rq_size) && (rc == 0)) rc = DIS_EOD; if (rc) { if (preq->rq_ind.rq_jobfile.rq_data) free(preq->rq_ind.rq_jobfile.rq_data); preq->rq_ind.rq_jobfile.rq_data = 0; } return(rc); }
int decode_DIS_JobCred(int sock, struct batch_request *preq) { int rc; preq->rq_ind.rq_jobcred.rq_data = 0; preq->rq_ind.rq_jobcred.rq_type = disrui(sock, &rc); if (rc) return rc; preq->rq_ind.rq_jobcred.rq_data = disrcs(sock, (size_t *)&preq->rq_ind.rq_jobcred.rq_size, &rc); return rc; }
int decode_DIS_UserCred(int sock, struct batch_request *preq) { int rc; rc = disrfst(sock, PBS_MAXUSER+1, preq->rq_ind.rq_usercred.rq_user); if (rc) return rc; preq->rq_ind.rq_usercred.rq_type = disrui(sock, &rc); if (rc) return rc; preq->rq_ind.rq_usercred.rq_data = 0; preq->rq_ind.rq_usercred.rq_data = disrcs(sock, (size_t *)&preq->rq_ind.rq_usercred.rq_size, &rc); return rc; }