MCPcopy Create free account
hub / github.com/F-Stack/f-stack / nvlist_check_header

Function nvlist_check_header

freebsd/contrib/libnv/nvlist.c:1051–1075  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1049}
1050
1051static bool
1052nvlist_check_header(struct nvlist_header *nvlhdrp)
1053{
1054
1055 if (nvlhdrp->nvlh_magic != NVLIST_HEADER_MAGIC) {
1056 ERRNO_SET(EINVAL);
1057 return (false);
1058 }
1059 if ((nvlhdrp->nvlh_flags & ~NV_FLAG_ALL_MASK) != 0) {
1060 ERRNO_SET(EINVAL);
1061 return (false);
1062 }
1063#if BYTE_ORDER == BIG_ENDIAN
1064 if ((nvlhdrp->nvlh_flags & NV_FLAG_BIG_ENDIAN) == 0) {
1065 nvlhdrp->nvlh_size = le64toh(nvlhdrp->nvlh_size);
1066 nvlhdrp->nvlh_descriptors = le64toh(nvlhdrp->nvlh_descriptors);
1067 }
1068#else
1069 if ((nvlhdrp->nvlh_flags & NV_FLAG_BIG_ENDIAN) != 0) {
1070 nvlhdrp->nvlh_size = be64toh(nvlhdrp->nvlh_size);
1071 nvlhdrp->nvlh_descriptors = be64toh(nvlhdrp->nvlh_descriptors);
1072 }
1073#endif
1074 return (true);
1075}
1076
1077const unsigned char *
1078nvlist_unpack_header(nvlist_t *nvl, const unsigned char *ptr, size_t nfds,

Callers 2

nvlist_unpack_headerFunction · 0.85
nvlist_recvFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected