kythe.io@v0.0.68-0.20240422202219-7225dbc01741/third_party/snappy/snappy-stubs-public.h (about)

     1  // Copyright 2011 Google Inc. All Rights Reserved.
     2  // Author: sesse@google.com (Steinar H. Gunderson)
     3  //
     4  // Redistribution and use in source and binary forms, with or without
     5  // modification, are permitted provided that the following conditions are
     6  // met:
     7  //
     8  //     * Redistributions of source code must retain the above copyright
     9  // notice, this list of conditions and the following disclaimer.
    10  //     * Redistributions in binary form must reproduce the above
    11  // copyright notice, this list of conditions and the following disclaimer
    12  // in the documentation and/or other materials provided with the
    13  // distribution.
    14  //     * Neither the name of Google Inc. nor the names of its
    15  // contributors may be used to endorse or promote products derived from
    16  // this software without specific prior written permission.
    17  //
    18  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    19  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    20  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    21  // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    22  // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    23  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    24  // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    25  // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    26  // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    27  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    28  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    29  //
    30  // Various type stubs for the open-source version of Snappy.
    31  //
    32  // This file cannot include config.h, as it is included from snappy.h,
    33  // which is a public header. Instead, snappy-stubs-public.h is generated by
    34  // from snappy-stubs-public.h.in at configure time.
    35  
    36  #ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
    37  #define UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
    38  
    39  #if 1
    40  #include <stdint.h>
    41  #endif
    42  
    43  #if 1
    44  #include <stddef.h>
    45  #endif
    46  
    47  #if 0
    48  #include <sys/uio.h>
    49  #endif
    50  
    51  #define SNAPPY_MAJOR 1
    52  #define SNAPPY_MINOR 1
    53  #define SNAPPY_PATCHLEVEL 2
    54  #define SNAPPY_VERSION \
    55      ((SNAPPY_MAJOR << 16) | (SNAPPY_MINOR << 8) | SNAPPY_PATCHLEVEL)
    56  
    57  #include <string>
    58  
    59  namespace snappy {
    60  
    61  #if 1
    62  typedef int8_t int8;
    63  typedef uint8_t uint8;
    64  typedef int16_t int16;
    65  typedef uint16_t uint16;
    66  typedef int32_t int32;
    67  typedef uint32_t uint32;
    68  typedef int64_t int64;
    69  typedef uint64_t uint64;
    70  #else
    71  typedef signed char int8;
    72  typedef unsigned char uint8;
    73  typedef short int16;
    74  typedef unsigned short uint16;
    75  typedef int int32;
    76  typedef unsigned int uint32;
    77  typedef long long int64;
    78  typedef unsigned long long uint64;
    79  #endif
    80  
    81  typedef std::string string;
    82  
    83  #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
    84    TypeName(const TypeName&);               \
    85    void operator=(const TypeName&)
    86  
    87  #if !0
    88  // Windows does not have an iovec type, yet the concept is universally useful.
    89  // It is simple to define it ourselves, so we put it inside our own namespace.
    90  struct iovec {
    91  	void* iov_base;
    92  	size_t iov_len;
    93  };
    94  #endif
    95  
    96  }  // namespace snappy
    97  
    98  #endif  // UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_