nl:: Weave:: Encoding:: BigEndian
מרחב השמות הזה מספק פונקציות עבור:
סיכום
- ביצוע סידור מחדש של בייטים, ביחס למערכת המארח, לפי ערך של ערכים מסודרים של בייטים גדולים (Big endian) לסוגים של 16, 32 ו-64 ביט.
- גישה בטוחה ויעילה למיפוי זיכרון, עם אפשרות לסידור מחדש של בייטים במיקומים לא מיושרים, עם או בלי סידור מחדש של בייטים. הכמויות מסודרות בבייטים גדולים של 8, 16, 32 ו-64 ביט, עם או בלי ניהול מצביעים.
במערכות אירוח Big endian לא מתבצע סידור מחדש של בייטים בפועל. במערכות אחרות, סידור מחדש של בייטים מוגדר בהתאם לצורך.
פונקציות |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 16 ביט של בייטים גדולים שמסודרים באמצעות כתובת הסמן שצוינה, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
|
Get32(const uint8_t *p)
|
uint32_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
|
Get64(const uint8_t *p)
|
uint64_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 64 ביט של בייטים גדולים שמסודרים באמצעות כתובת המצביע, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
|
HostSwap16(uint16_t v)
|
uint16_t
הפעולה הזו מבצעת באופן מותנה, כפי שנדרש עבור מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 16 ביט שצוין, בהנחה שהבייטים מסדרים ב-Big endian מחליפים למערכת היעד (כלומר
|
HostSwap32(uint32_t v)
|
uint32_t
הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 32-ביט שצוין, שסביר להניח שה-Big endian מסדר בבייטים למערכת היעד (כלומר
|
HostSwap64(uint64_t v)
|
uint64_t
הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 64 ביט שצוין, ההנחה היא שהבייטים מסודרים בשיטת Big אנדיאנית (Big endian) למערכת היעד (כלומר
|
Put16(uint8_t *p, uint16_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
Put32(uint8_t *p, uint32_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
Put64(uint8_t *p, uint64_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
Read16(uint8_t *& p)
|
uint16_t
מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר 16 ביט מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).
|
Read16(const uint8_t *& p)
|
uint16_t
מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר ביטים מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).
|
Read32(uint8_t *& p)
|
uint32_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים לפי סדר של 32 ביט מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).
|
Read32(const uint8_t *& p)
|
uint32_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים לפי סדר של 32 ביט מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).
|
Read64(uint8_t *& p)
|
uint64_t
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 64 ביט של בייטים גדולים לפי סדר 64 ביט מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).
|
Read64(const uint8_t *& p)
|
uint64_t
מבצעים קריאת זיכרון של הבייטים הגדולים של 64 ביט לפי סדר 64 ביט מהכתובת שצוינה (האפשרות לא מיושרת), לבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).
|
Write16(uint8_t *& p, uint16_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
Write32(uint8_t *& p, uint32_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
Write64(uint8_t *& p, uint64_t v)
|
void
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
|
פונקציות
Get16
uint16_t Get16( const uint8_t *p )
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 16 ביט של בייטים גדולים שמסודרים באמצעות כתובת הסמן שצוינה, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
במקרה הצורך, ערך ה-16 ביט בכתובת שמצוינת נמצא בטווח הבייטים.
|
Get32
uint32_t Get32( const uint8_t *p )
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים (לפי הצורך), כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
במקרה הצורך, ערך ה-32 ביט בכתובת שמצוינת נמצא בטווח הבייטים.
|
Get64
uint64_t Get64( const uint8_t *p )
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 64 ביט של בייטים גדולים שמסודרים באמצעות כתובת המצביע, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
במקרה הצורך, ערך ה-64 ביט בכתובת שמצוינת נמצא בטווח הבייטים.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 16 ביט שצוין, בהנחה שהבייטים מסדרים ב-Big endian מחליפים למערכת היעד (כלומר
מארח) סדר בייטים.
כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 32-ביט שצוין, שסביר להניח שה-Big endian מסדר בבייטים למערכת היעד (כלומר
מארח) סדר בייטים.
כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 64 ביט שצוין, ההנחה היא שהבייטים מסודרים בשיטת Big אנדיאנית (Big endian) למערכת היעד (כלומר
מארח) סדר בייטים.
כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.
|
Put16
void Put16( uint8_t *p, uint16_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
Put32
void Put32( uint8_t *p, uint32_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
Put64
void Put64( uint8_t *p, uint64_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
Read16
uint16_t Read16( uint8_t *& p )
מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר ביטים מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך ה-16 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Read16
uint16_t Read16( const uint8_t *& p )
מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר ביטים מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך ה-16 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Read32
uint32_t Read32( uint8_t *& p )
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך 32 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Read32
uint32_t Read32( const uint8_t *& p )
ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך 32 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Read64
uint64_t Read64( uint8_t *& p )
מבצעים קריאת זיכרון של הבייטים הגדולים של 64 ביט לפי סדר 64 ביט מהכתובת שצוינה (האפשרות לא מיושרת), לבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך 64 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Read64
uint64_t Read64( const uint8_t *& p )
מבצעים קריאת זיכרון של הבייטים הגדולים של 64 ביט לפי סדר 64 ביט מהכתובת שצוינה (האפשרות לא מיושרת), לבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך 64 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|