public void encode(NdrBuffer buf) throws NdrException { int start = buf.getIndex(); int alloc_hint_index = 0; buf.advance(16); /* momentarily skip header */ if (ptype == 0) { /* Request */ alloc_hint_index = buf.getIndex(); buf.enc_ndr_long(0); /* momentarily skip alloc hint */ buf.enc_ndr_short(0); /* context id */ buf.enc_ndr_short(getOpnum()); } encode_in(buf); length = buf.getIndex() - start; if (ptype == 0) { buf.setIndex(alloc_hint_index); alloc_hint = length - alloc_hint_index; buf.enc_ndr_long(alloc_hint); } buf.setIndex(start); encode_header(buf); buf.setIndex(start + length); }