public static Ext4DirEntry2 read(BinaryReader reader) throws IOException {
		if (reader.getPointerIndex() + 8 >= reader.length()) {
			return null;
		}
		Ext4DirEntry2 result = new Ext4DirEntry2();
		result.inode = reader.readNextInt();
		result.rec_len = reader.readNextShort();
		int uNameLen = reader.readNextUnsignedByte();
		result.name_len = (short) uNameLen;	// direntry2's only have a byte for name_len
		result.file_type = reader.readNextByte();
		result.name = new String(reader.readNextByteArray(uNameLen), StandardCharsets.UTF_8);

		int extraSize = Short.toUnsignedInt(result.rec_len) - (SIZEOF_FIXEDFIELDS + uNameLen);
		if (extraSize > 0) {
			result.extra = reader.readNextByteArray(extraSize);
		}

		return result;
	}
Reads a Ext4DirEntry2 from the stream.

@param reader BinaryReader to read from
@return new Ext4DirEntry2, or null if eof
@throws IOException if error when reading
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ext4/Ext4DirEntry2.java