![](/Images/img4.jpg)
Go to the documentation of this file.
37 #ifndef SQUID_LIB_RFCNB_BYTEORDER_H
38 #define SQUID_LIB_RFCNB_BYTEORDER_H
40 #undef CAREFUL_ALIGNMENT
45 #define CAREFUL_ALIGNMENT 0
48 #ifndef CAREFUL_ALIGNMENT
49 #define CAREFUL_ALIGNMENT 1
52 #define CVAL(buf,pos) (((unsigned char *)(buf))[pos])
53 #define PVAL(buf,pos) ((unsigned)CVAL(buf,pos))
54 #define SCVAL(buf,pos,val) (CVAL(buf,pos) = (val))
57 #define SVAL(buf,pos) (PVAL(buf,pos)|PVAL(buf,(pos)+1)<<8)
58 #define IVAL(buf,pos) (SVAL(buf,pos)|SVAL(buf,(pos)+2)<<16)
59 #define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8)
60 #define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16))
61 #define SVALS(buf,pos) ((int16)SVAL(buf,pos))
62 #define IVALS(buf,pos) ((int32)IVAL(buf,pos))
63 #define SSVAL(buf,pos,val) SSVALX((buf),(pos),((uint16)(val)))
64 #define SIVAL(buf,pos,val) SIVALX((buf),(pos),((uint32)(val)))
65 #define SSVALS(buf,pos,val) SSVALX((buf),(pos),((int16)(val)))
66 #define SIVALS(buf,pos,val) SIVALX((buf),(pos),((int32)(val)))
74 #define SVAL(buf,pos) (*(uint16 *)((char *)(buf) + (pos)))
75 #define IVAL(buf,pos) (*(uint32 *)((char *)(buf) + (pos)))
76 #define SVALS(buf,pos) (*(int16 *)((char *)(buf) + (pos)))
77 #define IVALS(buf,pos) (*(int32 *)((char *)(buf) + (pos)))
78 #define SSVAL(buf,pos,val) SVAL(buf,pos)=((uint16)(val))
79 #define SIVAL(buf,pos,val) IVAL(buf,pos)=((uint32)(val))
80 #define SSVALS(buf,pos,val) SVALS(buf,pos)=((int16)(val))
81 #define SIVALS(buf,pos,val) IVALS(buf,pos)=((int32)(val))
85 #define SREV(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF))
86 #define IREV(x) ((SREV(x)<<16) | (SREV((x)>>16)))
88 #define RSVAL(buf,pos) SREV(SVAL(buf,pos))
89 #define RIVAL(buf,pos) IREV(IVAL(buf,pos))
90 #define RSSVAL(buf,pos,val) SSVAL(buf,pos,SREV(val))
91 #define RSIVAL(buf,pos,val) SIVAL(buf,pos,IREV(val))
Introduction
Documentation
Support
Miscellaneous