Navigation.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:30k
- /*
- File: Navigation.h
-
- Contains: Navigation Services Interfaces
-
- Version: Technology: Navigation 2.0
- Release: QuickTime 6.0.2
-
- Copyright: (c) 1996-2001 by Apple Computer, Inc., all rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __NAVIGATION__
- #define __NAVIGATION__
- #ifndef __MACTYPES__
- #include "MacTypes.h"
- #endif
- #ifndef __APPLEEVENTS__
- #include "AppleEvents.h"
- #endif
- #ifndef __TRANSLATION__
- #include "Translation.h"
- #endif
- #ifndef __MACWINDOWS__
- #include "MacWindows.h"
- #endif
- #ifndef __CODEFRAGMENTS__
- #include "CodeFragments.h"
- #endif
- #ifndef __MACERRORS__
- #include "MacErrors.h"
- #endif
- #if PRAGMA_ONCE
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
- enum {
- kNavDialogOptionsVersion = 0,
- kNavReplyRecordVersion = 0,
- kNavCBRecVersion = 0,
- kNavFileOrFolderVersion = 1,
- kNavMenuItemSpecVersion = 0
- };
- typedef UInt16 NavDataVersion;
- typedef UInt32 NavAskSaveChangesAction;
- enum {
- /* input action codes for NavAskSaveChanges() */
- kNavSaveChangesClosingDocument = 1,
- kNavSaveChangesQuittingApplication = 2,
- kNavSaveChangesOther = 0
- };
- typedef UInt32 NavAskSaveChangesResult;
- enum {
- /* result codes for NavAskSaveChanges() */
- kNavAskSaveChangesSave = 1,
- kNavAskSaveChangesCancel = 2,
- kNavAskSaveChangesDontSave = 3
- };
- typedef UInt32 NavAskDiscardChangesResult;
- enum {
- /* result codes for NavAskDiscardChanges() */
- kNavAskDiscardChanges = 1,
- kNavAskDiscardChangesCancel = 2
- };
- typedef SInt16 NavFilterModes;
- enum {
- /* which elements are being filtered for objects: */
- kNavFilteringBrowserList = 0,
- kNavFilteringFavorites = 1,
- kNavFilteringRecents = 2,
- kNavFilteringShortCutVolumes = 3,
- kNavFilteringLocationPopup = 4 /* for v1.1 or greater */
- };
- struct NavFileOrFolderInfo {
- UInt16 version;
- Boolean isFolder;
- Boolean visible;
- UInt32 creationDate;
- UInt32 modificationDate;
- union {
- struct {
- Boolean locked; /* file is locked */
- Boolean resourceOpen; /* resource fork is opened */
- Boolean dataOpen; /* data fork is opened */
- Boolean reserved1;
- UInt32 dataSize; /* size of the data fork */
- UInt32 resourceSize; /* size of the resource fork */
- FInfo finderInfo; /* more file info: */
- FXInfo finderXInfo;
- } fileInfo;
- struct {
- Boolean shareable;
- Boolean sharePoint;
- Boolean mounted;
- Boolean readable;
- Boolean writeable;
- Boolean reserved2;
- UInt32 numberOfFiles;
- DInfo finderDInfo;
- DXInfo finderDXInfo;
- OSType folderType;
- OSType folderCreator;
- char reserved3[206];
- } folderInfo;
- } fileAndFolder;
- };
- typedef struct NavFileOrFolderInfo NavFileOrFolderInfo;
- union NavEventDataInfo {
- EventRecord * event; /* for event processing */
- void * param; /* points to event specific data */
- };
- typedef union NavEventDataInfo NavEventDataInfo;
- struct NavEventData {
- NavEventDataInfo eventDataParms; /* the event data */
- SInt16 itemHit; /* the dialog item number, for v1.1 or greater */
- };
- typedef struct NavEventData NavEventData;
- typedef UInt32 NavContext;
- struct NavCBRec {
- UInt16 version;
- NavContext context; /* used by customization code to call Navigation Services */
- WindowPtr window; /* the dialog */
- Rect customRect; /* local coordinate rectangle of customization area */
- Rect previewRect; /* local coordinate rectangle of the preview area */
- NavEventData eventData;
- char reserved[222];
- };
- typedef struct NavCBRec NavCBRec;
- typedef NavCBRec * NavCBRecPtr;
- enum {
- kNavCBEvent = 0, /* an event has occurred (update, idle events, etc.) */
- kNavCBCustomize = 1, /* protocol for negotiating customization space */
- kNavCBStart = 2, /* the navigation dialog is starting up */
- kNavCBTerminate = 3, /* the navigation dialog is closing down */
- kNavCBAdjustRect = 4, /* the navigation dialog is being resized */
- kNavCBNewLocation = 5, /* user has chosen a new location in the browser */
- kNavCBShowDesktop = 6, /* user has navigated to the desktop */
- kNavCBSelectEntry = 7, /* user has made a selection in the browser */
- kNavCBPopupMenuSelect = 8, /* signifies that a popup menu selection was made */
- kNavCBAccept = 9, /* user has accepted the navigation dialog */
- kNavCBCancel = 10, /* user has cancelled the navigation dialog */
- kNavCBAdjustPreview = 11, /* preview button was clicked or the preview was resized */
- kNavCBOpenSelection = (long)0x80000000 /* user has opened or chosen an object, v2.0 or greater */
- };
- typedef SInt32 NavEventCallbackMessage;
- typedef void * NavCallBackUserData;
- /* for events and customization: */
- typedef CALLBACK_API( void , NavEventProcPtr )(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void *callBackUD);
- /* for preview support: */
- typedef CALLBACK_API( Boolean , NavPreviewProcPtr )(NavCBRecPtr callBackParms, void *callBackUD);
- /* filtering callback information: */
- typedef CALLBACK_API( Boolean , NavObjectFilterProcPtr )(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
- typedef STACK_UPP_TYPE(NavEventProcPtr) NavEventUPP;
- typedef STACK_UPP_TYPE(NavPreviewProcPtr) NavPreviewUPP;
- typedef STACK_UPP_TYPE(NavObjectFilterProcPtr) NavObjectFilterUPP;
- #if OPAQUE_UPP_TYPES
- EXTERN_API(NavEventUPP)
- NewNavEventUPP (NavEventProcPtr userRoutine);
- EXTERN_API(NavPreviewUPP)
- NewNavPreviewUPP (NavPreviewProcPtr userRoutine);
- EXTERN_API(NavObjectFilterUPP)
- NewNavObjectFilterUPP (NavObjectFilterProcPtr userRoutine);
- EXTERN_API(void)
- DisposeNavEventUPP (NavEventUPP userUPP);
- EXTERN_API(void)
- DisposeNavPreviewUPP (NavPreviewUPP userUPP);
- EXTERN_API(void)
- DisposeNavObjectFilterUPP (NavObjectFilterUPP userUPP);
- EXTERN_API(void)
- InvokeNavEventUPP (NavEventCallbackMessage callBackSelector,
- NavCBRecPtr callBackParms,
- void * callBackUD,
- NavEventUPP userUPP);
- EXTERN_API(Boolean)
- InvokeNavPreviewUPP (NavCBRecPtr callBackParms,
- void * callBackUD,
- NavPreviewUPP userUPP);
- EXTERN_API(Boolean)
- InvokeNavObjectFilterUPP (AEDesc * theItem,
- void * info,
- void * callBackUD,
- NavFilterModes filterMode,
- NavObjectFilterUPP userUPP);
- #else
- enum { uppNavEventProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
- enum { uppNavPreviewProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppNavObjectFilterProcInfo = 0x00002FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
- #define NewNavEventUPP(userRoutine) (NavEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavEventProcInfo, GetCurrentArchitecture())
- #define NewNavPreviewUPP(userRoutine) (NavPreviewUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavPreviewProcInfo, GetCurrentArchitecture())
- #define NewNavObjectFilterUPP(userRoutine) (NavObjectFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavObjectFilterProcInfo, GetCurrentArchitecture())
- #define DisposeNavEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeNavPreviewUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeNavObjectFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppNavEventProcInfo, (callBackSelector), (callBackParms), (callBackUD))
- #define InvokeNavPreviewUPP(callBackParms, callBackUD, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppNavPreviewProcInfo, (callBackParms), (callBackUD))
- #define InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppNavObjectFilterProcInfo, (theItem), (info), (callBackUD), (filterMode))
- #endif
- /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
- #define NewNavEventProc(userRoutine) NewNavEventUPP(userRoutine)
- #define NewNavPreviewProc(userRoutine) NewNavPreviewUPP(userRoutine)
- #define NewNavObjectFilterProc(userRoutine) NewNavObjectFilterUPP(userRoutine)
- #define CallNavEventProc(userRoutine, callBackSelector, callBackParms, callBackUD) InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userRoutine)
- #define CallNavPreviewProc(userRoutine, callBackParms, callBackUD) InvokeNavPreviewUPP(callBackParms, callBackUD, userRoutine)
- #define CallNavObjectFilterProc(userRoutine, theItem, info, callBackUD, filterMode) InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userRoutine)
- typedef SInt32 NavCustomControlMessage;
- enum {
- kNavCtlShowDesktop = 0, /* show desktop, parms = nil */
- kNavCtlSortBy = 1, /* sort key field, parms->NavSortKeyField */
- kNavCtlSortOrder = 2, /* sort order, parms->NavSortOrder */
- kNavCtlScrollHome = 3, /* scroll list home, parms = nil */
- kNavCtlScrollEnd = 4, /* scroll list end, parms = nil */
- kNavCtlPageUp = 5, /* page list up, parms = nil */
- kNavCtlPageDown = 6, /* page list down, parms = nil */
- kNavCtlGetLocation = 7, /* get current location, parms<-AEDesc */
- kNavCtlSetLocation = 8, /* set current location, parms->AEDesc */
- kNavCtlGetSelection = 9, /* get current selection, parms<-AEDescList */
- kNavCtlSetSelection = 10, /* set current selection, parms->AEDescList */
- kNavCtlShowSelection = 11, /* make selection visible, parms = nil */
- kNavCtlOpenSelection = 12, /* open view of selection, parms = nil */
- kNavCtlEjectVolume = 13, /* eject volume, parms->vRefNum */
- kNavCtlNewFolder = 14, /* create a new folder, parms->StringPtr */
- kNavCtlCancel = 15, /* cancel dialog, parms = nil */
- kNavCtlAccept = 16, /* accept dialog default, parms = nil */
- kNavCtlIsPreviewShowing = 17, /* query preview status, parms<-Boolean */
- kNavCtlAddControl = 18, /* add one control to dialog, parms->ControlHandle */
- kNavCtlAddControlList = 19, /* add control list to dialog, parms->Handle (DITL rsrc) */
- kNavCtlGetFirstControlID = 20, /* get 1st control ID, parms<-UInt16 */
- kNavCtlSelectCustomType = 21, /* select a custom menu item parms->NavMenuItemSpec */
- kNavCtlSelectAllType = 22, /* select an "All" menu item parms->SInt16 */
- kNavCtlGetEditFileName = 23, /* get save dlog's file name parms<-StringPtr */
- kNavCtlSetEditFileName = 24, /* set save dlog's file name parms->StringPtr */
- kNavCtlSelectEditFileName = 25, /* select save dlog file name parms->ControlEditTextSelectionRec, v1.1 or greater */
- kNavCtlBrowserSelectAll = 26, /* re-scan the browser list parms = nil, v2.0 or greater */
- kNavCtlGotoParent = 27, /* navigate to parent parms = nil, v2.0 or greater */
- kNavCtlSetActionState = 28, /* restrict navigation parms->NavActionState (flags), v2.0 or greater */
- kNavCtlBrowserRedraw = 29, /* rescan browser list parms = nil, v2.0 or greater */
- kNavCtlTerminate = 30 /* terminate/dismiss dialog parms = nil, v2.0 or greater */
- };
- typedef UInt32 NavActionState;
- enum {
- kNavNormalState = 0x00000000, /* normal/default state */
- kNavDontOpenState = 0x00000001, /* disallow opening files/folders */
- kNavDontSaveState = 0x00000002, /* disallow saving files */
- kNavDontChooseState = 0x00000004, /* disallow choosing objects */
- kNavDontNewFolderState = 0x00000010 /* disallow creating new folders */
- };
- typedef UInt16 NavPopupMenuItem;
- enum {
- kNavAllKnownFiles = 0,
- kNavAllReadableFiles = 1,
- kNavAllFiles = 2
- };
- typedef UInt16 NavSortKeyField;
- enum {
- kNavSortNameField = 0,
- kNavSortDateField = 1
- };
- typedef UInt16 NavSortOrder;
- enum {
- kNavSortAscending = 0,
- kNavSortDescending = 1
- };
- typedef UInt32 NavDialogOptionFlags;
- enum {
- kNavDefaultNavDlogOptions = 0x000000E4, /* use defaults for all the options */
- kNavNoTypePopup = 0x00000001, /* don't show file type/extension popup on Open/Save */
- kNavDontAutoTranslate = 0x00000002, /* don't automatically translate on Open */
- kNavDontAddTranslateItems = 0x00000004, /* don't add translation choices on Open/Save */
- kNavAllFilesInPopup = 0x00000010, /* "All Files" menu item in the type popup on Open */
- kNavAllowStationery = 0x00000020, /* allow saving of stationery files */
- kNavAllowPreviews = 0x00000040, /* allow preview to show */
- kNavAllowMultipleFiles = 0x00000080, /* allow multiple items to be selected */
- kNavAllowInvisibleFiles = 0x00000100, /* allow invisible items to be shown */
- kNavDontResolveAliases = 0x00000200, /* don't resolve aliases */
- kNavSelectDefaultLocation = 0x00000400, /* make the default location the browser selection */
- kNavSelectAllReadableItem = 0x00000800, /* make the dialog select "All Readable Documents" on open */
- kNavSupportPackages = 0x00001000, /* recognize file system packages, v2.0 or greater */
- kNavAllowOpenPackages = 0x00002000, /* allow opening of packages, v2.0 or greater */
- kNavDontAddRecents = 0x00004000, /* don't add chosen objects to the recents list, v2.0 or greater */
- kNavDontUseCustomFrame = 0x00008000 /* don't add the bevelled custom frame, v2.0 or greater */
- };
- typedef UInt32 NavTranslationOptions;
- enum {
- kNavTranslateInPlace = 0, /* translate in place, replacing translation source file (default for Save) */
- kNavTranslateCopy = 1 /* translate to a copy of the source file (default for Open) */
- };
- struct NavMenuItemSpec {
- UInt16 version;
- OSType menuCreator;
- OSType menuType;
- Str255 menuItemName;
- char reserved[245];
- };
- typedef struct NavMenuItemSpec NavMenuItemSpec;
- typedef NavMenuItemSpec * NavMenuItemSpecArrayPtr;
- typedef NavMenuItemSpecArrayPtr * NavMenuItemSpecArrayHandle;
- typedef NavMenuItemSpecArrayPtr NavMenuItemSpecPtr;
- typedef NavMenuItemSpecArrayHandle NavMenuItemSpecHandle;
- enum {
- kNavGenericSignature = FOUR_CHAR_CODE('****')
- };
- struct NavTypeList {
- OSType componentSignature;
- short reserved;
- short osTypeCount;
- OSType osType[1];
- };
- typedef struct NavTypeList NavTypeList;
- typedef NavTypeList * NavTypeListPtr;
- typedef NavTypeListPtr * NavTypeListHandle;
- struct NavDialogOptions {
- UInt16 version;
- NavDialogOptionFlags dialogOptionFlags; /* option flags for affecting the dialog's behavior */
- Point location; /* top-left location of the dialog, or {-1,-1} for default position */
- Str255 clientName;
- Str255 windowTitle;
- Str255 actionButtonLabel; /* label of the default button (or null string for default) */
- Str255 cancelButtonLabel; /* label of the cancel button (or null string for default) */
- Str255 savedFileName; /* default name for text box in NavPutFile (or null string for default) */
- Str255 message; /* custom message prompt (or null string for default) */
- UInt32 preferenceKey; /* a key for to managing preferences for using multiple utility dialogs */
- NavMenuItemSpecArrayHandle popupExtension; /* extended popup menu items, an array of NavMenuItemSpecs */
- char reserved[494];
- };
- typedef struct NavDialogOptions NavDialogOptions;
- /* data returned by the utility dialogs: */
- struct NavReplyRecord {
- UInt16 version;
- Boolean validRecord; /* open/save: true if the user confirmed a selection, false on cancel */
- Boolean replacing; /* save: true if the user is overwriting an existing object for save */
- Boolean isStationery; /* save: true if the user wants to save an object as stationery */
- Boolean translationNeeded; /* save: translation is 'needed', open: translation 'has taken place' */
- AEDescList selection; /* open/save: list of AppleEvent descriptors of the chosen object(s) */
- ScriptCode keyScript; /* open/save: script in which the name of each item in 'selection' is to be displayed */
- FileTranslationSpecArrayHandle fileTranslation; /* open/save: list of file translation specs of the chosen object(s), if translation is needed */
- UInt32 reserved1;
- char reserved[231];
- };
- typedef struct NavReplyRecord NavReplyRecord;
- EXTERN_API( OSErr )
- NavLoad (void);
- EXTERN_API( OSErr )
- NavUnload (void);
- EXTERN_API( UInt32 )
- NavLibraryVersion (void);
- EXTERN_API( OSErr )
- NavGetDefaultDialogOptions (NavDialogOptions * dialogOptions);
- EXTERN_API( OSErr )
- NavGetFile (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- NavPreviewUPP previewProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- NavTypeListHandle typeList, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavPutFile (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- OSType fileType,
- OSType fileCreator,
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavAskSaveChanges (NavDialogOptions * dialogOptions,
- NavAskSaveChangesAction action,
- NavAskSaveChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavCustomAskSaveChanges (NavDialogOptions * dialogOptions,
- NavAskSaveChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavAskDiscardChanges (NavDialogOptions * dialogOptions,
- NavAskDiscardChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavChooseFile (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- NavPreviewUPP previewProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- NavTypeListHandle typeList, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavChooseFolder (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavChooseVolume (AEDesc * defaultSelection, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavChooseObject (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavNewFolder (AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD) /* can be NULL */;
- EXTERN_API( OSErr )
- NavTranslateFile (NavReplyRecord * reply,
- NavTranslationOptions howToTranslate);
- EXTERN_API( OSErr )
- NavCompleteSave (NavReplyRecord * reply,
- NavTranslationOptions howToTranslate);
- EXTERN_API( OSErr )
- NavCustomControl (NavContext context,
- NavCustomControlMessage selector,
- void * parms);
- EXTERN_API( OSErr )
- NavCreatePreview (AEDesc * theObject,
- OSType previewDataType,
- const void * previewData,
- Size previewDataSize);
- EXTERN_API( OSErr )
- NavDisposeReply (NavReplyRecord * reply);
- EXTERN_API( Boolean )
- NavServicesCanRun (void);
- #if TARGET_RT_MAC_CFM
- #ifdef __cplusplus
- inline pascal Boolean NavServicesAvailable() { return ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun()); }
- #else
- #define NavServicesAvailable() ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun())
- #endif
- #elif TARGET_RT_MAC_MACHO
- /* Navigation is always available on OS X */
- #ifdef __cplusplus
- inline pascal Boolean NavServicesAvailable() { return true; }
- #else
- #define NavServicesAvailable() (true)
- #endif
- #else
- /* NavServicesAvailable() is implemented in Navigation.o for classic 68K clients*/
- #if CALL_NOT_IN_CARBON
- EXTERN_API( Boolean )
- NavServicesAvailable (void);
- #endif /* CALL_NOT_IN_CARBON */
- #endif /* */
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __NAVIGATION__ */