static int smb_rap_NetShareEnum(struct smb_ctx *ctx, int sLevel, void *pbBuffer, int *cbBuffer, int *pcEntriesRead, int *pcTotalAvail) { struct smb_rap *rap; long lval = -1; int error; error = smb_rap_create(0, "WrLeh", "B13BWz", &rap); if (error) return (error); (void) smb_rap_setNparam(rap, sLevel); /* W - sLevel */ (void) smb_rap_setPparam(rap, pbBuffer); /* r - pbBuffer */ (void) smb_rap_setNparam(rap, *cbBuffer); /* L - cbBuffer */ error = smb_rap_request(rap, ctx); if (error == 0) { *pcEntriesRead = rap->r_entries; error = smb_rap_getNparam(rap, &lval); *pcTotalAvail = lval; /* Copy the data length into the IN/OUT variable. */ *cbBuffer = rap->r_rcvbuflen; } error = smb_rap_error(rap, error); smb_rap_done(rap); return (error); }
int smb_rap_NetShareEnum(struct smb_ctx *ctx, int sLevel, void *pbBuffer, int cbBuffer, int *pcEntriesRead, int *pcTotalAvail) { struct smb_rap *rap; long lval; int error; lval = -1; /* XXX gcc */ error = smb_rap_create(0, "WrLeh", "B13BWz", &rap); if (error) return error; smb_rap_setNparam(rap, sLevel); /* W - sLevel */ smb_rap_setPparam(rap, pbBuffer); /* r - pbBuffer */ smb_rap_setNparam(rap, cbBuffer); /* L - cbBuffer */ error = smb_rap_request(rap, ctx); if (error == 0) { *pcEntriesRead = rap->r_entries; error = smb_rap_getNparam(rap, &lval); *pcTotalAvail = lval; } error = smb_rap_error(rap, error); smb_rap_done(rap); return error; }