// Protocol Buffers - Google's data interchange format // Copyright 2023 Google Inc. All rights reserved. // https://developers.google.com/protocol-buffers/ // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. syntax = "proto3"; package protobuf_unittest; option csharp_namespace = "ProtobufUnittest"; option java_multiple_files = true; option java_package = "com.google.protobuf.testing.proto"; // `google/protobuf/port_def.inc` #undef's a number of inconvenient macros // defined in system headers under varying circumstances. The code generated // from this file will not compile if those `#undef` calls are accidentally // removed. // This generates `GID_MAX`, which is a macro in some circumstances. enum GID { GID_UNUSED = 0; } // This generates `UID_MAX`, which is a mcro in some circumstances. enum UID { UID_UNUSED = 0; } // Just a container for bad macro names. Some of these do not follow the normal // naming conventions, this is intentional, we just want to trigger a build // failure if the macro is left defined. enum BadNames { // autoheader defines this in some circumstances. PACKAGE = 0; // The comment says "a few common headers define this". PACKED = 1; // Defined in many Linux system headers. linux = 2; // This is often a macro in ``. DOMAIN = 3; // These are defined in both Windows and macOS headers. TRUE = 4; FALSE = 5; // Sometimes defined in Windows system headers. CREATE_NEW = 6; DELETE = 7; DOUBLE_CLICK = 8; ERROR = 9; ERROR_BUSY = 10; ERROR_INSTALL_FAILED = 11; ERROR_NOT_FOUND = 12; GetClassName = 13; GetCurrentTime = 14; GetMessage = 15; GetObject = 16; IGNORE = 17; IN = 18; INPUT_KEYBOARD = 19; NO_ERROR = 20; OUT = 21; OPTIONAL = 22; NEAR = 23; NO_DATA = 24; REASON_UNKNOWN = 25; SERVICE_DISABLED = 26; SEVERITY_ERROR = 27; STATUS_PENDING = 28; STRICT = 29; // Sometimed defined in macOS system headers. TYPE_BOOL = 30; // Defined in macOS, Windows, and Linux headers. DEBUG = 31; }