*/
  public TexturesResidentReply textures_resident (int [] textures) {
    int n = textures.length;
    RequestOutputStream o = display.out;
    TexturesResidentReply ret;
    synchronized (o) {
      // The spec says request length == 1, but this seems wrong.
      o.begin_request(glx.major_opcode, 143, 3 + n);
      o.write_int32 (tag);
      o.write_int32 (n);
      for (int i = 0; i < n; i++)
        o.write_int32 (textures[i]);
      ResponseInputStream in = display.in;
      synchronized (in) {
        in.skip (8);
        ret = new TexturesResidentReply (in, n);
        in.pad (RequestOutputStream.pad (n));
      }
    }
    return ret;
  }