public int processManagementRecord(int type) throws IOException {

        byte[] response = new byte[64];
        int wrndx = response[FCGIGlobalDefs.def_FCGIHeaderLen];
        int value, len, plen;
        if (type == FCGIGlobalDefs.def_FCGIGetValues) {
            Properties tmpProps = new Properties();
            readParams(tmpProps);

            if (in.getFCGIError() != 0 || in.contentLen != 0) {
                return FCGIGlobalDefs.def_FCGIProtocolError;
            }
            if (tmpProps.containsKey(
                FCGIGlobalDefs.def_FCGIMaxConns)) {
                makeNameVal(
                    FCGIGlobalDefs.def_FCGIMaxConns, "1",
                    response, wrndx);
            }
            else {
                if (tmpProps.containsKey(
                    FCGIGlobalDefs.def_FCGIMaxReqs)) {
                    makeNameVal(
                        FCGIGlobalDefs.def_FCGIMaxReqs, "1",
                        response, wrndx);
                }
                else {
                    if (tmpProps.containsKey(
                        FCGIGlobalDefs.def_FCGIMaxConns)) {
                        makeNameVal(
                            FCGIGlobalDefs.def_FCGIMpxsConns, "0",
                            response, wrndx);
                    }
                }
            }
            plen = 64 - wrndx;
            len = wrndx - FCGIGlobalDefs.def_FCGIHeaderLen;
            System.arraycopy(makeHeader(
                FCGIGlobalDefs.def_FCGIGetValuesResult,
                FCGIGlobalDefs.def_FCGINullRequestID,
                len, plen), 0,
                response, 0,
                FCGIGlobalDefs.def_FCGIHeaderLen);
        }
        else {
            plen = len =
                FCGIGlobalDefs.def_FCGIUnknownBodyTypeBodyLen;
            System.arraycopy(makeHeader(
                FCGIGlobalDefs.def_FCGIUnknownType,
                FCGIGlobalDefs.def_FCGINullRequestID,
                len, 0), 0,
                response, 0,
                FCGIGlobalDefs.def_FCGIHeaderLen);
            System.arraycopy(makeUnknownTypeBodyBody(h_type), 0,
                response,
                FCGIGlobalDefs.def_FCGIHeaderLen,
                FCGIGlobalDefs.def_FCGIUnknownBodyTypeBodyLen);
        }
        /*
         * No guarantee that we have a request yet, so
         * dont use fcgi output stream to reference socket, instead
         * use the FileInputStream that refrences it. Also
         * nowhere to save exception, since this is not FCGI stream.
         */

        try {
            in.request.socket.getOutputStream().write(response, 0,
                FCGIGlobalDefs.def_FCGIHeaderLen +
                FCGIGlobalDefs.def_FCGIUnknownBodyTypeBodyLen);

        } catch (IOException e){
            return -1;
        }
        return FCGIGlobalDefs.def_FCGIMgmtRecord;
    }