Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  ioam6.h  Sprache: unbekannt

 
Spracherkennung für: .h vermutete Sprache: Abap {ABAP[24] Apollo[18] Postscript[18]} [Methode: maximale Elemente, drei Dimensionen]

/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/*
 *  IPv6 IOAM implementation
 *
 *  Author:
 *  Justin Iurman <justin.iurman@uliege.be>
 */


#ifndef _UAPI_LINUX_IOAM6_H
#define _UAPI_LINUX_IOAM6_H

#include <asm/byteorder.h>
#include <linux/types.h>

#define IOAM6_U16_UNAVAILABLE U16_MAX
#define IOAM6_U32_UNAVAILABLE U32_MAX
#define IOAM6_U64_UNAVAILABLE U64_MAX

#define IOAM6_DEFAULT_ID (IOAM6_U32_UNAVAILABLE >> 8)
#define IOAM6_DEFAULT_ID_WIDE (IOAM6_U64_UNAVAILABLE >> 8)
#define IOAM6_DEFAULT_IF_ID IOAM6_U16_UNAVAILABLE
#define IOAM6_DEFAULT_IF_ID_WIDE IOAM6_U32_UNAVAILABLE

/*
 * IPv6 IOAM Option Header
 */

struct ioam6_hdr {
 __u8 opt_type;
 __u8 opt_len;
 __u8 :8;    /* reserved */
#define IOAM6_TYPE_PREALLOC 0
 __u8 type;
} __attribute__((packed));

/*
 * IOAM Trace Header
 */

struct ioam6_trace_hdr {
 __be16 namespace_id;

#if defined(__LITTLE_ENDIAN_BITFIELD)

 __u8 :1,    /* unused */
  :1,    /* unused */
  overflow:1,
  nodelen:5;

 __u8 remlen:7,
  :1;    /* unused */

 union {
  __be32 type_be32;

  struct {
   __u32 bit7:1,
    bit6:1,
    bit5:1,
    bit4:1,
    bit3:1,
    bit2:1,
    bit1:1,
    bit0:1,
    bit15:1, /* unused */
    bit14:1, /* unused */
    bit13:1, /* unused */
    bit12:1, /* unused */
    bit11:1,
    bit10:1,
    bit9:1,
    bit8:1,
    bit23:1, /* reserved */
    bit22:1,
    bit21:1, /* unused */
    bit20:1, /* unused */
    bit19:1, /* unused */
    bit18:1, /* unused */
    bit17:1, /* unused */
    bit16:1, /* unused */
    :8;  /* reserved */
  } type;
 };

#elif defined(__BIG_ENDIAN_BITFIELD)

 __u8 nodelen:5,
  overflow:1,
  :1,    /* unused */
  :1;    /* unused */

 __u8 :1,    /* unused */
  remlen:7;

 union {
  __be32 type_be32;

  struct {
   __u32 bit0:1,
    bit1:1,
    bit2:1,
    bit3:1,
    bit4:1,
    bit5:1,
    bit6:1,
    bit7:1,
    bit8:1,
    bit9:1,
    bit10:1,
    bit11:1,
    bit12:1, /* unused */
    bit13:1, /* unused */
    bit14:1, /* unused */
    bit15:1, /* unused */
    bit16:1, /* unused */
    bit17:1, /* unused */
    bit18:1, /* unused */
    bit19:1, /* unused */
    bit20:1, /* unused */
    bit21:1, /* unused */
    bit22:1,
    bit23:1, /* reserved */
    :8;  /* reserved */
  } type;
 };

#else
#error "Please fix <asm/byteorder.h>"
#endif

#define IOAM6_TRACE_DATA_SIZE_MAX 244
 __u8 data[];
} __attribute__((packed));

#endif /* _UAPI_LINUX_IOAM6_H */

[Dauer der Verarbeitung: 0.6 Sekunden]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723