Lines Matching refs:buffer

145 init_volume_date(ISOVolDate *date, char *buffer)  in init_volume_date()  argument
147 memcpy(date, buffer, ISO_VOL_DATE_SIZE); in init_volume_date()
153 init_node_date(ISORecDate *date, char *buffer) in init_node_date() argument
155 memcpy(date, buffer, sizeof(struct ISORecDate)); in init_node_date()
161 InitVolDesc(iso9660_volume *volume, char *buffer) in InitVolDesc() argument
165 volume->volDescType = *(uint8 *)buffer; in InitVolDesc()
166 buffer += sizeof(volume->volDescType); in InitVolDesc()
170 strncpy(volume->stdIDString, buffer, kStdIDStringLen); in InitVolDesc()
171 buffer += kStdIDStringLen; in InitVolDesc()
173 volume->volDescVersion = *(uint8 *)buffer; in InitVolDesc()
174 buffer += sizeof(volume->volDescVersion); in InitVolDesc()
176 buffer += sizeof(volume->unused1); // skip unused 8th byte in InitVolDesc()
180 strncpy(volume->systemIDString, buffer, kSystemIDStringLen); in InitVolDesc()
181 buffer += kSystemIDStringLen; in InitVolDesc()
186 strncpy(volume->volIDString, buffer, kVolIDStringLen); in InitVolDesc()
187 buffer += kVolIDStringLen; in InitVolDesc()
190 buffer += sizeof(volume->unused2) - 1; // skip unused 73-80 bytes in InitVolDesc()
192 volume->volSpaceSize[LSB_DATA] = *(uint32 *)buffer; in InitVolDesc()
193 buffer += sizeof(volume->volSpaceSize[LSB_DATA]); in InitVolDesc()
194 volume->volSpaceSize[MSB_DATA] = *(uint32 *)buffer; in InitVolDesc()
195 buffer += sizeof(volume->volSpaceSize[MSB_DATA]); in InitVolDesc()
197 buffer += sizeof(volume->unused3) - 1; // skip unused 89-120 bytes in InitVolDesc()
199 volume->volSetSize[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
200 buffer += sizeof(volume->volSetSize[LSB_DATA]); in InitVolDesc()
201 volume->volSetSize[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
202 buffer += sizeof(volume->volSetSize[MSB_DATA]); in InitVolDesc()
204 volume->volSeqNum[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
205 buffer += sizeof(volume->volSeqNum[LSB_DATA]); in InitVolDesc()
206 volume->volSeqNum[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
207 buffer += sizeof(volume->volSeqNum[MSB_DATA]); in InitVolDesc()
209 volume->logicalBlkSize[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
210 buffer += sizeof(volume->logicalBlkSize[LSB_DATA]); in InitVolDesc()
211 volume->logicalBlkSize[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
212 buffer += sizeof(volume->logicalBlkSize[MSB_DATA]); in InitVolDesc()
214 volume->pathTblSize[LSB_DATA] = *(uint32*)buffer; in InitVolDesc()
215 buffer += sizeof(volume->pathTblSize[LSB_DATA]); in InitVolDesc()
216 volume->pathTblSize[MSB_DATA] = *(uint32*)buffer; in InitVolDesc()
217 buffer += sizeof(volume->pathTblSize[MSB_DATA]); in InitVolDesc()
219 volume->lPathTblLoc[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
220 buffer += sizeof(volume->lPathTblLoc[LSB_DATA]); in InitVolDesc()
221 volume->lPathTblLoc[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
222 buffer += sizeof(volume->lPathTblLoc[MSB_DATA]); in InitVolDesc()
224 volume->optLPathTblLoc[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
225 buffer += sizeof(volume->optLPathTblLoc[LSB_DATA]); in InitVolDesc()
226 volume->optLPathTblLoc[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
227 buffer += sizeof(volume->optLPathTblLoc[MSB_DATA]); in InitVolDesc()
229 volume->mPathTblLoc[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
230 buffer += sizeof(volume->mPathTblLoc[LSB_DATA]); in InitVolDesc()
231 volume->mPathTblLoc[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
232 buffer += sizeof(volume->mPathTblLoc[MSB_DATA]); in InitVolDesc()
234 volume->optMPathTblLoc[LSB_DATA] = *(uint16*)buffer; in InitVolDesc()
235 buffer += sizeof(volume->optMPathTblLoc[LSB_DATA]); in InitVolDesc()
236 volume->optMPathTblLoc[MSB_DATA] = *(uint16*)buffer; in InitVolDesc()
237 buffer += sizeof(volume->optMPathTblLoc[MSB_DATA]); in InitVolDesc()
241 InitNode(volume, &volume->rootDirRec, buffer, NULL); in InitVolDesc()
244 buffer += ISO_ROOT_DIR_REC_SIZE; in InitVolDesc()
248 strncpy(volume->volSetIDString, buffer, kVolSetIDStringLen); in InitVolDesc()
249 buffer += kVolSetIDStringLen; in InitVolDesc()
254 strncpy(volume->pubIDString, buffer, kPubIDStringLen); in InitVolDesc()
255 buffer += kPubIDStringLen; in InitVolDesc()
260 strncpy(volume->dataPreparer, buffer, kDataPreparerLen); in InitVolDesc()
261 buffer += kDataPreparerLen; in InitVolDesc()
266 strncpy(volume->appIDString, buffer, kAppIDStringLen); in InitVolDesc()
267 buffer += kAppIDStringLen; in InitVolDesc()
272 strncpy(volume->copyright, buffer, kCopyrightLen); in InitVolDesc()
273 buffer += kCopyrightLen; in InitVolDesc()
278 strncpy(volume->abstractFName, buffer, kAbstractFNameLen); in InitVolDesc()
279 buffer += kAbstractFNameLen; in InitVolDesc()
283 strncpy(volume->biblioFName, buffer, kBiblioFNameLen); in InitVolDesc()
284 buffer += kBiblioFNameLen; in InitVolDesc()
286 init_volume_date(&volume->createDate, buffer); in InitVolDesc()
287 buffer += ISO_VOL_DATE_SIZE; in InitVolDesc()
289 init_volume_date(&volume->modDate, buffer); in InitVolDesc()
290 buffer += ISO_VOL_DATE_SIZE; in InitVolDesc()
292 init_volume_date(&volume->expireDate, buffer); in InitVolDesc()
293 buffer += ISO_VOL_DATE_SIZE; in InitVolDesc()
295 init_volume_date(&volume->effectiveDate, buffer); in InitVolDesc()
296 buffer += ISO_VOL_DATE_SIZE; in InitVolDesc()
298 volume->fileStructVers = *(uint8*)buffer; in InitVolDesc()
304 parse_rock_ridge(iso9660_volume* volume, iso9660_inode* node, char* buffer, in parse_rock_ridge() argument
316 TRACE(("RR: Start of extensions at %p\n", buffer)); in parse_rock_ridge()
319 buffer += length; in parse_rock_ridge()
320 if (buffer + 2 >= end) in parse_rock_ridge()
322 length = *(uint8*)(buffer + 2); in parse_rock_ridge()
323 if (buffer + length > end) in parse_rock_ridge()
328 switch (((int)buffer[0] << 8) + buffer[1]) { in parse_rock_ridge()
334 node->attr.pxVer = *(uint8*)(buffer + bytePos++); in parse_rock_ridge()
338 = *(mode_t*)(buffer + bytePos); in parse_rock_ridge()
341 = *(mode_t*)(buffer + bytePos); in parse_rock_ridge()
346 = *(nlink_t*)(buffer+bytePos); in parse_rock_ridge()
349 = *(nlink_t*)(buffer + bytePos); in parse_rock_ridge()
354 = *(uid_t*)(buffer + bytePos); in parse_rock_ridge()
357 = *(uid_t*)(buffer + bytePos); in parse_rock_ridge()
362 = *(gid_t*)(buffer + bytePos); in parse_rock_ridge()
365 = *(gid_t*)(buffer + bytePos); in parse_rock_ridge()
383 TRACE(("Buffer is at %p\n", buffer)); in parse_rock_ridge()
386 node->attr.slVer = *(uint8*)(buffer + bytePos++); in parse_rock_ridge()
388 uint8 slFlags = *(uint8*)(buffer + bytePos++); in parse_rock_ridge()
395 uint8 compFlag = *(uint8*)(buffer + bytePos++); in parse_rock_ridge()
396 uint8 compLen = *(uint8*)(buffer + bytePos++); in parse_rock_ridge()
428 memcpy(slName + addPos, buffer + bytePos, in parse_rock_ridge()
513 node->attr.nmVer = *(uint8 *)(buffer + bytePos++); in parse_rock_ridge()
514 flags = *(uint8 *)(buffer + bytePos++); in parse_rock_ridge()
516 TRACE(("RR: nm buffer is %s, start at %p\n", (buffer + bytePos), in parse_rock_ridge()
517 buffer + bytePos)); in parse_rock_ridge()
520 memcpy(altName + oldEnd, buffer + bytePos, length - 5); in parse_rock_ridge()
542 node->startLBN[LSB_DATA] = *(uint32*)(buffer+4); in parse_rock_ridge()
543 node->startLBN[MSB_DATA] = *(uint32*)(buffer+8); in parse_rock_ridge()
545 char* buffer = (char*)block_cache_get(volume->fBlockCache, in parse_rock_ridge() local
547 if (buffer == NULL) in parse_rock_ridge()
550 InitNode(volume, node, buffer, NULL, true); in parse_rock_ridge()
581 if (buffer[0] == '\0') { in parse_rock_ridge()
585 TRACE(("RR: Unknown tag %c%c\n", buffer[0], buffer[1])); in parse_rock_ridge()
605 char buffer[ISO_PVD_SIZE]; in ISOMount() local
662 retval = read_pos(volume->fdOfSession, offset, (void*)buffer, in ISOMount()
669 if (strncmp(buffer + 1, kISO9660IDString, 5) == 0) { in ISOMount()
670 if (*buffer == 0x01 && !isISO) { in ISOMount()
676 InitVolDesc(volume, buffer); in ISOMount()
698 } else if (*buffer == 0x02 && isISO && allowJoliet) { in ISOMount()
703 if (buffer[88] == 0x25 && buffer[89] == 0x2f) { in ISOMount()
704 switch (buffer[90]) { in ISOMount()
715 InitNode(volume, &volume->rootDirRec, &buffer[156], in ISOMount()
719 } else if (*(unsigned char *)buffer == 0xff) { in ISOMount()
723 TRACE(("found header %d\n",*buffer)); in ISOMount()
845 InitNode(iso9660_volume* volume, iso9660_inode* node, char* buffer, in InitNode() argument
848 uint8 recordLength = *(uint8*)buffer++; in InitNode()
852 buffer, recordLength)); in InitNode()
859 char* end = buffer + recordLength; in InitNode()
869 node->extAttrRecLen = *(uint8*)buffer++; in InitNode()
872 node->startLBN[LSB_DATA] = *(uint32*)buffer; in InitNode()
873 buffer += 4; in InitNode()
874 node->startLBN[MSB_DATA] = *(uint32*)buffer; in InitNode()
875 buffer += 4; in InitNode()
879 node->dataLen[LSB_DATA] = *(uint32*)buffer; in InitNode()
880 buffer += 4; in InitNode()
881 node->dataLen[MSB_DATA] = *(uint32*)buffer; in InitNode()
882 buffer += 4; in InitNode()
886 init_node_date(&node->recordDate, buffer); in InitNode()
887 buffer += 7; in InitNode()
889 node->flags = *(uint8*)buffer; in InitNode()
890 buffer++; in InitNode()
893 node->fileUnitSize = *(uint8*)buffer; in InitNode()
894 buffer++; in InitNode()
897 node->interleaveGapSize = *(uint8*)buffer; in InitNode()
898 buffer++; in InitNode()
901 node->volSeqNum = *(uint32*)buffer; in InitNode()
902 buffer += 4; in InitNode()
905 nameLength = *(uint8*)buffer; in InitNode()
906 buffer++; in InitNode()
932 if (node->name_length == 1 && buffer[0] == 0) { in InitNode()
935 } else if (node->name_length == 1 && buffer[0] == 1) { in InitNode()
949 status_t status = unicode_to_utf8(buffer, &sourceLength, in InitNode()
967 node->name[i] = tolower(buffer[i]); in InitNode()
980 buffer += nameLength; in InitNode()
982 buffer++; in InitNode()
986 return parse_rock_ridge(volume, node, buffer, end, relocated); in InitNode()