XRootD
XrdOucPup.hh File Reference
#include <stddef.h>
#include <sys/types.h>
#include <sys/stat.h>
+ Include dependency graph for XrdOucPup.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  XrdOucPup
 
struct  XrdOucPupArgs
 
struct  XrdOucPupNames
 

Macros

#define setPUP0(Type)   {0, -1, 0, PT_ ## Type}
 
#define setPUP1(Name, Type, Base, Var)    {offsetof(Base,Var), -1, Name, PT_ ## Type}
 
#define setPUP2(Name, Type, Base, Var, Dlen)    {offsetof(Base,Var), Dlen, Name, PT_ ## Type}
 

Enumerations

enum  XrdOucPupType {
  PT_Ignore = 0x01 ,
  PT_Mark = 0x02 ,
  PT_Skip = 0x03 ,
  PT_MandS = 0x04 ,
  PT_Fence = 0x05 ,
  PT_Datlen = 0x06 ,
  PT_Totlen = 0x07 ,
  PT_End = 0x0e ,
  PT_EndFill = 0x0f ,
  PT_char = 0x00 ,
  PT_short = 0x80 ,
  PT_int = 0xa0 ,
  PT_longlong = 0xc0 ,
  PT_special = 0xe0 ,
  PT_Inline = 0x10 ,
  PT_MaskB = 0x60 ,
  PT_MaskT = 0xe0 ,
  PT_Mask = 0xf0 ,
  PT_MaskD = 0x0f
}
 

Class Documentation

◆ XrdOucPupArgs

struct XrdOucPupArgs

Definition at line 70 of file XrdOucPup.hh.

+ Collaboration diagram for XrdOucPupArgs:
Class Members
short Dlen
int Doffs
unsigned char Dtype
unsigned char Name

Macro Definition Documentation

◆ setPUP0

#define setPUP0 (   Type)    {0, -1, 0, PT_ ## Type}

Definition at line 86 of file XrdOucPup.hh.

◆ setPUP1

#define setPUP1 (   Name,
  Type,
  Base,
  Var 
)     {offsetof(Base,Var), -1, Name, PT_ ## Type}

Definition at line 88 of file XrdOucPup.hh.

◆ setPUP2

#define setPUP2 (   Name,
  Type,
  Base,
  Var,
  Dlen 
)     {offsetof(Base,Var), Dlen, Name, PT_ ## Type}

Definition at line 91 of file XrdOucPup.hh.

Enumeration Type Documentation

◆ XrdOucPupType

Enumerator
PT_Ignore 
PT_Mark 
PT_Skip 
PT_MandS 
PT_Fence 
PT_Datlen 
PT_Totlen 
PT_End 
PT_EndFill 
PT_char 
PT_short 
PT_int 
PT_longlong 
PT_special 
PT_Inline 
PT_MaskB 
PT_MaskT 
PT_Mask 
PT_MaskD 

Definition at line 44 of file XrdOucPup.hh.

45 {// PT_Convert = 0x00, // Convert based on the below (same as char here)
46  PT_Ignore = 0x01, // Both: Skip the pup entry
47  PT_Mark = 0x02, // Pack: Mark &iov element in *Data
48  PT_Skip = 0x03, // Pack: Skip iov element
49  PT_MandS = 0x04, // Pack: Mark and Skip
50  PT_Fence = 0x05, // Unpk: Remaining entries are optional
51  PT_Datlen = 0x06, // Unpk: Set prv unpacked data length as an int
52  PT_Totlen = 0x07, // Pack: Set total packed data length as an int
53  PT_End = 0x0e, // Both: End of list (always the last element)
54  PT_EndFill = 0x0f, // Both: End of list (always the last element)
55  // Pack: *(Base+Doffs) = totlen as net short
56 
57  PT_char = 0x00, // Both: Character
58  PT_short = 0x80, // Both: Unsigned
59  PT_int = 0xa0, // Both: Unsigned
60  PT_longlong= 0xc0, // Both: Unsigned
61  PT_special = 0xe0, // Both: Reserved
62 
63  PT_Inline = 0x10, // Internal use
64  PT_MaskB = 0x60, // Internal Use
65  PT_MaskT = 0xe0, // Internal Use
66  PT_Mask = 0xf0, // Internal Use
67  PT_MaskD = 0x0f // Internal Use
68 };
@ PT_Totlen
Definition: XrdOucPup.hh:52
@ PT_MandS
Definition: XrdOucPup.hh:49
@ PT_special
Definition: XrdOucPup.hh:61
@ PT_short
Definition: XrdOucPup.hh:58
@ PT_MaskD
Definition: XrdOucPup.hh:67
@ PT_Datlen
Definition: XrdOucPup.hh:51
@ PT_Fence
Definition: XrdOucPup.hh:50
@ PT_int
Definition: XrdOucPup.hh:59
@ PT_Mask
Definition: XrdOucPup.hh:66
@ PT_EndFill
Definition: XrdOucPup.hh:54
@ PT_MaskT
Definition: XrdOucPup.hh:65
@ PT_Skip
Definition: XrdOucPup.hh:48
@ PT_MaskB
Definition: XrdOucPup.hh:64
@ PT_Inline
Definition: XrdOucPup.hh:63
@ PT_char
Definition: XrdOucPup.hh:57
@ PT_longlong
Definition: XrdOucPup.hh:60
@ PT_Mark
Definition: XrdOucPup.hh:47
@ PT_Ignore
Definition: XrdOucPup.hh:46
@ PT_End
Definition: XrdOucPup.hh:53