<commit_before>/*
 * nghttp2 - HTTP/2.0 C Library
 *
 * Copyright (c) 2013 <NAME>
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#ifndef NGHTTP2_H
#define NGHTTP2_H

#ifdef  __cplusplus
extern "C" {
#endif

#include <stdlib.h>
#include <stdint.h>
#include <sys/types.h>

#include <nghttp2/nghttp2ver.h>

/**
 * @macro
 *
 * The protocol version identification of this library supports.
 */
#define NGHTTP2_PROTO_VERSION_ID "HTTP-draft-06/2.0"
/**
 * @macro
 *
 * The length of NGHTTP2_PROTO_VERSION_ID.
 */
#define NGHTTP2_PROTO_VERSION_ID_LEN 17

struct nghttp2_session;
/**
 * @struct
 *
 * The primary structure to hold the resources needed for a HTTP/2.0
 * session. The details of this structure are intentionally hidden
 * from the public API.
 */
typedef struct nghttp2_session nghttp2_session;

#define NGHTTP2_VERSION_AGE 1
struct nghttp2_info {
  int age; /* Age of this struct. This instance of nghttp2 sets it to
              NGHTTP2_VERSION_AGE but a future version may bump it and add
              more struct fields at the bottom */
  int version_num;   /* the NGHTTP2_VERSION_NUM number */
  const char *version_str; /* points to the NGHTTP2_VERSION string */
  const char *proto_str;   /* points to the NGHTTP2_PROTO_VERSION_ID string
                              this instance implements */
  /* -------- the above fields all exist when age == 1 */
};
/**
 * @struct
 *
 * This struct is what nghttp2_version() returns. It holds information about
 * the particular nghttp2 version.
 */
typedef struct nghttp2_info nghttp2_info;

/**
 * @macro
 *
 * The default priority value
 */
#define NGHTTP2_PRI_DEFAULT (1 << 30)
/**
 * @macro
 *
 * The lowest priority value
 */
#define NGHTTP2_PRI_LOWEST ((1U << 31) - 1)

/**
 * @macro
 *
 * The maximum window size
 */<commit_msg>nghttp2_info: Format doc for API doc generator<commit_after>/*
 * nghttp2 - HTTP/2.0 C Library
 *
 * Copyright (c) 2013 <NAME>
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#ifndef NGHTTP2_H
#define NGHTTP2_H

#ifdef  __cplusplus
extern "C" {
#endif

#include <stdlib.h>
#include <stdint.h>
#include <sys/types.h>

#include <nghttp2/nghttp2ver.h>

/**
 * @macro
 *
 * The protocol version identification of this library supports.
 */
#define NGHTTP2_PROTO_VERSION_ID "HTTP-draft-06/2.0"
/**
 * @macro
 *
 * The length of NGHTTP2_PROTO_VERSION_ID.
 */
#define NGHTTP2_PROTO_VERSION_ID_LEN 17

struct nghttp2_session;
/**
 * @struct
 *
 * The primary structure to hold the resources needed for a HTTP/2.0
 * session. The details of this structure are intentionally hidden
 * from the public API.
 */
typedef struct nghttp2_session nghttp2_session;

/**
 * @macro
 *
 * The age of :type:`nghttp2_info`
 */
#define NGHTTP2_VERSION_AGE 1

/**
 * @struct
 *
 * This struct is what `nghttp2_version()` returns. It holds
 * information about the particular nghttp2 version.
 */
typedef struct {
  /**
   * Age of this struct. This instance of nghttp2 sets it to
   * :macro:`NGHTTP2_VERSION_AGE` but a future version may bump it and
   * add more struct fields at the bottom
   */
  int age;
  /**
   * the :macro:`NGHTTP2_VERSION_NUM` number (since age ==1)
   */
  int version_num;
  /**
   * points to the NGHTTP2_VERSION string (since age ==1)
   */
  const char *version_str;
  /**
   * points to the NGHTTP2_PROTO_VERSION_ID string
   * this instance implements (since age ==1)
   */
  const char *proto_str;
  /* -------- the above fields all exist when age == 1 */
} nghttp2_info;

/**
 * @macro
 *
 * The default priority value
 */
#define NGHTTP2_PRI_DEFAULT (1 << 30)
/**
 * @macro
 *
 * The lowest priority value
 */
#define NGHTTP2_PRI_LOWEST ((1U << 31) - 1)

/**
 * @macro
 *
 * The maximum window size
 */
{'fraction_non_alphanumeric': 0.08931971611563096, 'fraction_numerical': 0.016790721827938376, 'mean_word_length': 3.578446909667195, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6176518', 'n_tokens_mistral': 1803, 'n_tokens_neox': 1699, 'n_words': 713}