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 ביט של בייטים גדולים שמסודרים באמצעות כתובת הסמן שצוינה, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לקרוא את הערך הסדיר של הבייטים הגדולים של 16 ביט.
החזרות
במקרה הצורך, ערך ה-16 ביט בכתובת שמצוינת נמצא בטווח הבייטים.

Get32

uint32_t Get32(
  const uint8_t *p
)

ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים (לפי הצורך), כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לקרוא את הערך הסדיר של הבייטים הגדולים של 32 ביט.
החזרות
במקרה הצורך, ערך ה-32 ביט בכתובת שמצוינת נמצא בטווח הבייטים.

Get64

uint64_t Get64(
  const uint8_t *p
)

ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 64 ביט של בייטים גדולים שמסודרים באמצעות כתובת המצביע, ולבצע סידור מחדש של בייטים לפי הצורך, כדי שמערכת היעד תגדיר את הערך בסדר הבייטים של מערכת היעד.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לקרוא את הערך הסדיר של הבייטים הגדולים של 64 ביט.
החזרות
במקרה הצורך, ערך ה-64 ביט בכתובת שמצוינת נמצא בטווח הבייטים.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 16 ביט שצוין, בהנחה שהבייטים מסדרים ב-Big endian מחליפים למערכת היעד (כלומר

מארח) סדר בייטים.

כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.

פרטים
פרמטרים
[in] v
ערך ה-16 ביט שיש להחליף את הסדר בבייטים.
החזרות
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 32-ביט שצוין, שסביר להניח שה-Big endian מסדר בבייטים למערכת היעד (כלומר

מארח) סדר בייטים.

כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.

פרטים
פרמטרים
[in] v
ערך 32 הסיביות שיש להחליף בסדר הבייטים.
החזרות
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

הפעולה הזו מבצעת באופן מותנה, לפי הצורך מערכת היעד, החלפת סדר בבייטים לפי ערך של ערך 64 ביט שצוין, ההנחה היא שהבייטים מסודרים בשיטת Big אנדיאנית (Big endian) למערכת היעד (כלומר

מארח) סדר בייטים.

כתוצאה מכך, במערכות יעד אנדיאניות של ביט, מדובר בתהליך ללא תפעול, ובמערכות יעד גדולות (Big endian) מתבצע סידור מחדש.

פרטים
פרמטרים
[in] v
ערך של 64 ביט שיש להחליף את הסדר בבייטים.
החזרות
ערך הקלט, במקרה הצורך, הוחלף בסדר הבייטים.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לכתוב את הבייט של מערכת היעד, עם סדר של 16 ביט לפי סדר בייטים Big Endian.
[in] v
הערך של 16 סיביות לכתיבה, במקרה הצורך, הוחלפה בסדר הבייטים.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לכתוב את הבייט של מערכת היעד, עם סדר של 32 ביט לפי סדר בייטים Big Endian.
[in] v
הערך של 32 סיביות לכתיבה, במקרה הצורך, הוחלף בסדר הבייטים.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
כתובת של מצביע, שייתכן שאינה מיושרת, כדי לכתוב את הבייט של מערכת היעד, עם סדר של 64 ביט לפי סדר בייטים Big Endian.
[in] v
הערך של 64 סיביות לכתיבה, במקרה הצורך, הוחלף בסדר הבייטים.

Read16

uint16_t Read16(
  uint8_t *& p
)

מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר ביטים מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע, שייתכן שאינה ישרה, כדי לקרוא את הערך הסדיר של הבייטים הגדולים של 16 ביט מ-16 ביטים (2 בייט) ואז להגדיל אותה ב-16 ביטים.
החזרות
ערך ה-16 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Read16

uint16_t Read16(
  const uint8_t *& p
)

מבצעים קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך של 16 ביט מהבייט הגדול (Big endian) לפי סדר ביטים מכתובת המצביע שצוינה, מבצעים סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-16 ביט (2 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע קבועה, שייתכן שאינה מותאמת, כדי לקרוא את הערך של הבייטים האנדיאניים של 16 סיביות לאחר מכן במרווחים של 16 ביטים (2 בייט).
החזרות
ערך ה-16 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Read32

uint32_t Read32(
  uint8_t *& p
)

ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע, שייתכן שאינה ישרה, כדי לקרוא את ערך ה-Big endian של 32 סיביות מסדר הבייטים של 32 סיביות ולאחר מכן להגדיל אותו ב-32 סיביות (4 בייט).
החזרות
ערך 32 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Read32

uint32_t Read32(
  const uint8_t *& p
)

ביצוע קריאת זיכרון (שעשויה להיות לא מיושרת) של ערך 32 ביט של בייטים גדולים בסדר יורד מכתובת המצביע שצוינה, ולבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-32 ביט (4 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע קבועה, שייתכן שאינה ישרה, כדי לקרוא את הערך של הבייטים האסופיים של 32 סיביות מ-32 סיביות (4 בייט) ולאחר מכן להגדיל אותן ב-32 סיביות (4 בייט).
החזרות
ערך 32 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Read64

uint64_t Read64(
  uint8_t *& p
)

מבצעים קריאת זיכרון של הבייטים הגדולים של 64 ביט לפי סדר 64 ביט מהכתובת שצוינה (האפשרות לא מיושרת), לבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע, שייתכן שאינה ישרה, כדי לקרוא את הערך הסדיר של הבייטים הגדולים של 64 ביט מ-64 ביטים (8 בייט) ולאחר מכן להגדיל אותם ב-64 ביט.
החזרות
ערך 64 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Read64

uint64_t Read64(
  const uint8_t *& p
)

מבצעים קריאת זיכרון של הבייטים הגדולים של 64 ביט לפי סדר 64 ביט מהכתובת שצוינה (האפשרות לא מיושרת), לבצע סידור מחדש של הבייטים לפי הצורך, כדי שמערכת היעד תוכל לקבוע את סדר הבייטים של מערכת היעד ולהגדיל את הסמן ב-64 ביט (8 בייט).

פרטים
פרמטרים
[in,out] p
הפניה לכתובת מצביע קבועה, שייתכן שאינה ישרה, כדי לקרוא את הערך של ה-Big endian של 64 סיביות, מ-64 סיביות (8 בייט) ולאחר מכן להגדיל אותו ב-64 סיביות (8 בייט).
החזרות
ערך 64 סיביות בכתובת המצביע שצוינה, במקרה הצורך, הוחלף סדר הבייטים.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 16 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
הפניה לכתובת מצביע, שייתכן שאינה יישור. כתיבת ערך הבייט של 16 ביט במערכת היעד לפי סדר בייטים Big endian ולאחר מכן הגדלת 16 ביט (2 בייט).
[in] v
הערך של 16 סיביות לכתיבה, במקרה הצורך, הוחלף בסדר הבייטים.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר 32 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
הפניה לכתובת מצביע, שייתכן שאינה ישרה, כדי לכתוב את ערך הבייטים של מערכת היעד לפי סדר של 32 ביט לפי סדר בייטים Big Endian, ואז להגדיל אותה ב-32 ביט (4 בייט).
[in] v
הערך של 32 סיביות לכתיבה, במקרה הצורך, הוחלף בסדר הבייטים.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

ביצוע כתיבה לזיכרון (שיכול להיות לא מיושר) של ערך הבייט של מערכת היעד לפי סדר של 64 ביט לכתובת המצביע שצוינה, ולבצע סידור מחדש של בייטים, לפי הצורך, כדי שמערכת היעד תמקם את הערך בסדר הבייטים Big Endian.

פרטים
פרמטרים
[in] p
הפניה לכתובת מצביע, שייתכן שאינה ישרה, כדי לכתוב את ערך הבייטים של מערכת היעד לפי סדר של 64 ביט לפי סדר בייטים Big endian, ואז להגדיל אותה ב-64 ביט (8 בייט).
[in] v
הערך של 64 סיביות לכתיבה, במקרה הצורך, הוחלף בסדר הבייטים.