Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
_headers/ReadResource.h
/* |
File: ReadResource.h |
Contains: Header for routines demonstrating how to read resource files without |
using the Resource Manager. |
Written by: Mark Cookson |
Copyright: Copyright © 1996-1999 by Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
8/31/1999 Karl Groethe Updated for Metrowerks Codewarror Pro 2.1 |
*/ |
#ifndef __READRESOURCE__ |
#define __READRESOURCE__ |
#include <Errors.h> |
#include <Resources.h> |
#ifndef __DEFINES__ |
#include "Defines.h" |
#endif |
struct ResourceHeader { |
long resDataOffset; |
long resMapOffset; |
long resDataLength; |
long resMapLength; |
}; |
typedef struct ResourceHeader ResourceHeader; |
struct ResourceMap { |
unsigned char reserved1[16];//for copy of resource header |
long reserved2;//for handle to next resource map |
short reserved3;//for file reference number |
short resFileAttrs; |
unsigned short typesListOffset; |
unsigned short namesListOffset; |
unsigned short numTypesInMap; |
}; |
typedef struct ResourceMap ResourceMap; |
struct ResourceTypeListEntry { |
OSType resType; |
unsigned short numEntries; |
unsigned short referenceOffset; |
}; |
typedef struct ResourceTypeListEntry ResourceTypeListEntry; |
struct ResReference { |
short ID; |
unsigned short nameOffset; |
long dataOffset;//high byte is actually resource attributes, low three bytes are offset to beginning of data |
long reserved;//for handle to resource |
}; |
typedef struct ResReference ResReference; |
OSErr MyGetFirstResource (short refNum, |
OSType targetType, |
short *targetID); |
OSErr MyGetResourcePosition (short refNum, |
OSType targetType, |
short targetID, |
long *firstByte); |
OSErr MyGetTypesPosition (short refNum, |
OSType theType, |
short *numResources, |
long *dataOffset, |
long *firstByteOfTypeList); |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-03-14