
    i
                         S SK r S SKr " S S\ R                  5      r " S S\R                  5      r " S S\R                  5      rg)    Nc                   @    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrg)
BufferType   zBuffer types to use for an IOVBuffer type.

These are the IOVBuffer type flags that can be set for an IOVBuffer. The keys are a generified name for the
respective SSPI and GSSAPI flags.
r               	   
         i    N)__name__
__module____qualname____firstlineno____doc__emptydataheader
pkg_paramstrailerpaddingstream	sign_only	mic_tokendata_readonly__static_attributes__r       D/home/james-whalen/.local/lib/python3.13/site-packages/spnego/iov.pyr   r      s=     EDFJGGFII
 Mr   r   c                   h    \ rS rSr% Sr\\S'   \R                  \R                  \
\\4      \S'   Srg)	IOVBuffer   a  A buffer to pass as a list to :meth:`wrap_iov()`.

Defines the buffer inside a list that is passed to :meth:`wrap_iov()`. A list of these buffers are also returned in
the `IOVUnwrapResult` under the `buffers` attribute.

On SSPI only a buffer of the type `header`, `trailer`, or `padding` can be auto allocated. On GSSAPI all buffers
can be auto allocated when `data=True` but the behaviour behind this is dependent on the mech it is run for.

On the output from the `*_iov` functions the data is the bytes buffer or `None` if the buffer wasn't set. When used
as an input to the `*_iov` functions the data can be the buffer bytes, the length of buffer to allocate or a bool
to state whether the buffer is auto allocated or not.
typer   r   N)r   r   r   r   r   r   __annotations__typingOptionalUnionbytesintboolr   r   r   r    r"   r"      s.     
//&,,uc4'78
99r   r"   c                   H    \ rS rSr% Sr\\S'   \R                  \	   \S'   Sr
g)IOVResBuffer1   zResults of an IOV operation.

Unlike :class:`IOVBuffer` this limits the value of `data` to just an
optionally set bytes. It is used as the return value of an IOV operation to
better match what the expected values would be.
r$   r   r   N)r   r   r   r   r   r   r%   r&   r'   r)   r   r   r   r    r-   r-   1   s     
//%
  r   r-   )enumr&   IntEnumr   
NamedTupler"   r-   r   r   r    <module>r2      sA      .:!! :$	!6$$ 	!r   