Changeset 745 for trunk/server/lib/util/byteorder.h
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/lib/util/byteorder.h
r414 r745 55 55 56 56 #define CVAL(buf,pos) (((uint8_t *)(buf))[pos]) 57 #define PVAL(buf,pos) ((u int_t)CVAL(buf,pos))57 #define PVAL(buf,pos) ((unsigned int)CVAL(buf,pos)) 58 58 #define SVAL(buf,pos) (PVAL(buf,pos)|PVAL(buf,(pos)+1)<<8) 59 59 … … 145 145 #endif 146 146 147 #define CVAL(buf,pos) ((u int_t)(((const uint8_t *)(buf))[pos]))147 #define CVAL(buf,pos) ((unsigned int)(((const uint8_t *)(buf))[pos])) 148 148 #define CVAL_NC(buf,pos) (((uint8_t *)(buf))[pos]) /* Non-const version of CVAL */ 149 149 #define PVAL(buf,pos) (CVAL(buf,pos)) … … 186 186 /* get single value from an SMB buffer */ 187 187 #define SVAL(buf,pos) (*(const uint16_t *)((const char *)(buf) + (pos))) 188 #define SVAL_NC(buf,pos) (*(uint16_t *)(( char *)(buf) + (pos))) /* Non const version of above. */188 #define SVAL_NC(buf,pos) (*(uint16_t *)((void *)((char *)(buf) + (pos)))) /* Non const version of above. */ 189 189 #define IVAL(buf,pos) (*(const uint32_t *)((const char *)(buf) + (pos))) 190 #define IVAL_NC(buf,pos) (*(uint32_t *)(( char *)(buf) + (pos))) /* Non const version of above. */190 #define IVAL_NC(buf,pos) (*(uint32_t *)((void *)((char *)(buf) + (pos)))) /* Non const version of above. */ 191 191 #define SVALS(buf,pos) (*(const int16_t *)((const char *)(buf) + (pos))) 192 #define SVALS_NC(buf,pos) (*(int16_t *)(( char *)(buf) + (pos))) /* Non const version of above. */192 #define SVALS_NC(buf,pos) (*(int16_t *)((void *)((char *)(buf) + (pos)))) /* Non const version of above. */ 193 193 #define IVALS(buf,pos) (*(const int32_t *)((const char *)(buf) + (pos))) 194 #define IVALS_NC(buf,pos) (*(int32_t *)(( char *)(buf) + (pos))) /* Non const version of above. */194 #define IVALS_NC(buf,pos) (*(int32_t *)((void *)((char *)(buf) + (pos)))) /* Non const version of above. */ 195 195 196 196 /* store single value in an SMB buffer */ … … 202 202 #endif /* not CAREFUL_ALIGNMENT */ 203 203 204 /* now the reverse routines - these are used in nmb packets (mostly) */205 #define SREV(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF))206 #define IREV(x) ((SREV(x)<<16) | (SREV((x)>>16)))207 208 #define RSVAL(buf,pos) SREV(SVAL(buf,pos))209 #define RSVALS(buf,pos) SREV(SVALS(buf,pos))210 #define RIVAL(buf,pos) IREV(IVAL(buf,pos))211 #define RIVALS(buf,pos) IREV(IVALS(buf,pos))212 #define RSSVAL(buf,pos,val) SSVAL(buf,pos,SREV(val))213 #define RSSVALS(buf,pos,val) SSVALS(buf,pos,SREV(val))214 #define RSIVAL(buf,pos,val) SIVAL(buf,pos,IREV(val))215 #define RSIVALS(buf,pos,val) SIVALS(buf,pos,IREV(val))216 217 /* Alignment macros. */218 #define ALIGN4(p,base) ((p) + ((4 - (PTR_DIFF((p), (base)) & 3)) & 3))219 #define ALIGN2(p,base) ((p) + ((2 - (PTR_DIFF((p), (base)) & 1)) & 1))220 221 222 /* macros for accessing SMB protocol elements */223 #define VWV(vwv) ((vwv)*2)224 225 204 /* 64 bit macros */ 226 205 #define BVAL(p, ofs) (IVAL(p,ofs) | (((uint64_t)IVAL(p,(ofs)+4)) << 32)) … … 229 208 #define SBVALS(p, ofs, v) (SBVAL(p,ofs,(uint64_t)v)) 230 209 210 /* now the reverse routines - these are used in nmb packets (mostly) */ 211 #define SREV(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF)) 212 #define IREV(x) ((SREV(x)<<16) | (SREV((x)>>16))) 213 #define BREV(x) ((IREV(x)<<32) | (IREV((x)>>32))) 214 215 #define RSVAL(buf,pos) SREV(SVAL(buf,pos)) 216 #define RSVALS(buf,pos) SREV(SVALS(buf,pos)) 217 #define RIVAL(buf,pos) IREV(IVAL(buf,pos)) 218 #define RIVALS(buf,pos) IREV(IVALS(buf,pos)) 219 #define RBVAL(buf,pos) BREV(BVAL(buf,pos)) 220 #define RBVALS(buf,pos) BREV(BVALS(buf,pos)) 221 #define RSSVAL(buf,pos,val) SSVAL(buf,pos,SREV(val)) 222 #define RSSVALS(buf,pos,val) SSVALS(buf,pos,SREV(val)) 223 #define RSIVAL(buf,pos,val) SIVAL(buf,pos,IREV(val)) 224 #define RSIVALS(buf,pos,val) SIVALS(buf,pos,IREV(val)) 225 #define RSBVAL(buf,pos,val) SBVAL(buf,pos,BREV(val)) 226 #define RSBVALS(buf,pos,val) SBVALS(buf,pos,BREV(val)) 227 228 /* Alignment macros. */ 229 #define ALIGN4(p,base) ((p) + ((4 - (PTR_DIFF((p), (base)) & 3)) & 3)) 230 #define ALIGN2(p,base) ((p) + ((2 - (PTR_DIFF((p), (base)) & 1)) & 1)) 231 232 233 /* macros for accessing SMB protocol elements */ 234 #define VWV(vwv) ((vwv)*2) 235 231 236 #endif /* _BYTEORDER_H */
Note:
See TracChangeset
for help on using the changeset viewer.