
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_java_rmi_server_ProtocolConstants__
#define __gnu_java_rmi_server_ProtocolConstants__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace rmi
      {
        namespace server
        {
            class ProtocolConstants;
        }
      }
    }
  }
}

class gnu::java::rmi::server::ProtocolConstants : public ::java::lang::Object
{

public:
  static const jint PROTOCOL_HEADER = 1246907721;
  static const jint PROTOCOL_VERSION = 2;
  static const jint STREAM_PROTOCOL = 75;
  static const jint SINGLE_OP_PROTOCOL = 76;
  static const jint MULTIPLEX_PROTOCOL = 77;
  static const jint PROTOCOL_ACK = 78;
  static const jint PROTOCOL_NACK = 79;
  static const jint MESSAGE_CALL = 80;
  static const jint MESSAGE_CALL_ACK = 81;
  static const jint MESSAGE_PING = 82;
  static const jint MESSAGE_PING_ACK = 83;
  static const jint MESSAGE_DGCACK = 84;
  static const jint RETURN_ACK = 1;
  static const jint RETURN_NACK = 2;
  static const jint DEFAULT_PROTOCOL = 75;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_java_rmi_server_ProtocolConstants__
