Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
36e6594d
Commit
36e6594d
authored
Nov 24, 2006
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added some defines for sending variable-sized MSB-first numbers.
parent
e1788382
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
7 deletions
+14
-7
byteorder.h
byteorder.h
+14
-7
No files found.
byteorder.h
View file @
36e6594d
...
@@ -20,8 +20,8 @@
...
@@ -20,8 +20,8 @@
#undef CAREFUL_ALIGNMENT
#undef CAREFUL_ALIGNMENT
/*
we know that the x86 can handle misalignment and has the "right"
/*
We know that the x86 can handle misalignment and has the same
byteorder
*/
* byte order (LSB-first) as the 32-bit numbers we transmit.
*/
#ifdef __i386__
#ifdef __i386__
#define CAREFUL_ALIGNMENT 0
#define CAREFUL_ALIGNMENT 0
#endif
#endif
...
@@ -31,13 +31,22 @@
...
@@ -31,13 +31,22 @@
#endif
#endif
#define CVAL(buf,pos) (((unsigned char *)(buf))[pos])
#define CVAL(buf,pos) (((unsigned char *)(buf))[pos])
#define
PVAL(buf,pos) ((unsigned
)CVAL(buf,pos))
#define
UVAL(buf,pos) ((uint32
)CVAL(buf,pos))
#define SCVAL(buf,pos,val) (CVAL(buf,pos) = (val))
#define SCVAL(buf,pos,val) (CVAL(buf,pos) = (val))
/* Our 64-bit numbers are sent in MSB-first order so that we can use
* the highest bits to indicate the number of bytes sent. */
#define NVAL2(b,m) ((UVAL(b,0)&~(m))<<8|UVAL(b,1))
#define NVAL3(b,m) (NVAL2(b,m)<<8|UVAL(b,2))
#define NVAL4(b,m) (NVAL3(b,m)<<8|UVAL(b,3))
#define NVAL5(b,m) ((int64)NVAL4(b,m)<<8|UVAL(b,4))
#define NVAL6(b,m) (NVAL5(b,m)<<8|UVAL(b,5))
#define NVAL7(b,m) (NVAL6(b,m)<<8|UVAL(b,6))
#define NVAL8(b,m) (NVAL7(b,m)<<8|UVAL(b,7))
#if CAREFUL_ALIGNMENT
#if CAREFUL_ALIGNMENT
#define
SVAL(buf,pos) (PVAL(buf,pos)|P
VAL(buf,(pos)+1)<<8)
#define
PVAL(buf,pos) (UVAL(buf,pos)|U
VAL(buf,(pos)+1)<<8)
#define IVAL(buf,pos) (
SVAL(buf,pos)|S
VAL(buf,(pos)+2)<<16)
#define IVAL(buf,pos) (
PVAL(buf,pos)|P
VAL(buf,(pos)+2)<<16)
#define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8)
#define SSVALX(buf,pos,val) (CVAL(buf,pos)=(val)&0xFF,CVAL(buf,pos+1)=(val)>>8)
#define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16))
#define SIVALX(buf,pos,val) (SSVALX(buf,pos,val&0xFFFF),SSVALX(buf,pos+2,val>>16))
#define SIVAL(buf,pos,val) SIVALX((buf),(pos),((uint32)(val)))
#define SIVAL(buf,pos,val) SIVALX((buf),(pos),((uint32)(val)))
...
@@ -51,5 +60,3 @@
...
@@ -51,5 +60,3 @@
#define IVAL(buf,pos) (*(uint32 *)((char *)(buf) + (pos)))
#define IVAL(buf,pos) (*(uint32 *)((char *)(buf) + (pos)))
#define SIVAL(buf,pos,val) IVAL(buf,pos)=((uint32)(val))
#define SIVAL(buf,pos,val) IVAL(buf,pos)=((uint32)(val))
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment