Path: blob/master/Utilities/cmnghttp2/lib/nghttp2_extpri.h
3153 views
/*1* nghttp2 - HTTP/2 C Library2*3* Copyright (c) 2022 nghttp3 contributors4* Copyright (c) 2022 nghttp2 contributors5*6* Permission is hereby granted, free of charge, to any person obtaining7* a copy of this software and associated documentation files (the8* "Software"), to deal in the Software without restriction, including9* without limitation the rights to use, copy, modify, merge, publish,10* distribute, sublicense, and/or sell copies of the Software, and to11* permit persons to whom the Software is furnished to do so, subject to12* the following conditions:13*14* The above copyright notice and this permission notice shall be15* included in all copies or substantial portions of the Software.16*17* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,18* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF19* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND20* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE21* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION22* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION23* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.24*/25#ifndef NGHTTP2_EXTPRI_H26#define NGHTTP2_EXTPRI_H2728#ifdef HAVE_CONFIG_H29# include <config.h>30#endif /* HAVE_CONFIG_H */3132#include <nghttp2/nghttp2.h>3334/*35* NGHTTP2_EXTPRI_INC_MASK is a bit mask to retrieve incremental bit36* from a value produced by nghttp2_extpri_to_uint8.37*/38#define NGHTTP2_EXTPRI_INC_MASK (1 << 7)3940/*41* nghttp2_extpri_to_uint8 encodes |pri| into uint8_t variable.42*/43uint8_t nghttp2_extpri_to_uint8(const nghttp2_extpri *extpri);4445/*46* nghttp2_extpri_from_uint8 decodes |u8extpri|, which is produced by47* nghttp2_extpri_to_uint8, intto |extpri|.48*/49void nghttp2_extpri_from_uint8(nghttp2_extpri *extpri, uint8_t u8extpri);5051/*52* nghttp2_extpri_uint8_urgency extracts urgency from |PRI| which is53* supposed to be constructed by nghttp2_extpri_to_uint8.54*/55#define nghttp2_extpri_uint8_urgency(PRI) \56((uint32_t)((PRI) & ~NGHTTP2_EXTPRI_INC_MASK))5758/*59* nghttp2_extpri_uint8_inc extracts inc from |PRI| which is supposed to60* be constructed by nghttp2_extpri_to_uint8.61*/62#define nghttp2_extpri_uint8_inc(PRI) (((PRI)&NGHTTP2_EXTPRI_INC_MASK) != 0)6364#endif /* NGHTTP2_EXTPRI_H */656667