Annotation of objc/objc-globaltext.m, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * "Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.0 (the 'License').  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License."
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: /* Required for compatiblity with 1.0 to turn off .const and .cstring */
                     25: #if !defined(__DYNAMIC__)
                     26: #pragma CC_NO_MACH_TEXT_SECTIONS
                     27: #endif
                     28: 
                     29: #ifdef SHLIB
                     30: #import "shlib.h"
                     31: #endif SHLIB
                     32: 
                     33: #import "hashtable.h"
                     34: #import "maptable.h"
                     35: 
                     36: /*
                     37:  * Global const data would go here and would look like:
                     38:  *     const int foo = 1;
                     39:  */    
                     40: /*
                     41:  * hashtable globals
                     42:  */
                     43: 
                     44: extern unsigned hashPtrStructKey (const void *info, const void *data);
                     45: extern int isEqualPtrStructKey (const void *info, const void *data1, const void *data2);
                     46: extern unsigned hashStrStructKey (const void *info, const void *data);
                     47: extern int isEqualStrStructKey (const void *info, const void *data1, const void *data2);
                     48: 
                     49: const NXHashTablePrototype NXPtrPrototype = {
                     50:     NXPtrHash, NXPtrIsEqual, NXNoEffectFree, 0
                     51:     };
                     52: const NXHashTablePrototype NXStrPrototype = {
                     53:     NXStrHash, NXStrIsEqual, NXNoEffectFree, 0
                     54:     };
                     55: 
                     56: 
                     57: const NXHashTablePrototype NXPtrStructKeyPrototype = {
                     58:     hashPtrStructKey, isEqualPtrStructKey, NXReallyFree, 0
                     59:     };
                     60: 
                     61: const NXHashTablePrototype NXStrStructKeyPrototype = {
                     62:     hashStrStructKey, isEqualStrStructKey, NXReallyFree, 0
                     63:     };
                     64: 
                     65: extern unsigned _mapPtrHash(NXMapTable *table, const void *key);
                     66: extern unsigned _mapStrHash(NXMapTable *table, const void *key);
                     67: extern unsigned _mapObjectHash(NXMapTable *table, const void *key);
                     68: extern int _mapPtrIsEqual(NXMapTable *table, const void *key1, const void *key2);
                     69: extern int _mapStrIsEqual(NXMapTable *table, const void *key1, const void *key2);
                     70: extern int _mapObjectIsEqual(NXMapTable *table, const void *key1, const void *key2);
                     71: extern void _mapNoFree(NXMapTable *table, void *key, void *value);
                     72: extern void _mapObjectFree(NXMapTable *table, void *key, void *value);
                     73: 
                     74: const NXMapTablePrototype NXPtrValueMapPrototype = {
                     75:     _mapPtrHash, _mapPtrIsEqual, _mapNoFree, 0
                     76: };
                     77: 
                     78: const NXMapTablePrototype NXStrValueMapPrototype = {
                     79:     _mapStrHash, _mapStrIsEqual, _mapNoFree, 0
                     80: };
                     81: 
                     82: const NXMapTablePrototype NXObjectMapPrototype = {
                     83:     _mapObjectHash, _mapObjectIsEqual, _mapObjectFree, 0
                     84: };
                     85: 
                     86: #ifdef SHLIB
                     87: static const char _objc_global_text_pad[144] = {0};
                     88: 
                     89: /*
                     90:  * Declarations of static (literal) const data.
                     91:  */
                     92: static const char _objc_literal_text_pad[256] = {0};
                     93: 
                     94: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.