|
|
1.1 ! root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ! 2: * ! 3: * The contents of this file are subject to the Netscape Public ! 4: * License Version 1.1 (the "License"); you may not use this file ! 5: * except in compliance with the License. You may obtain a copy of ! 6: * the License at http://www.mozilla.org/NPL/ ! 7: * ! 8: * Software distributed under the License is distributed on an "AS ! 9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or ! 10: * implied. See the License for the specific language governing ! 11: * rights and limitations under the License. ! 12: * ! 13: * The Original Code is Mozilla Communicator client code, released ! 14: * March 31, 1998. ! 15: * ! 16: * The Initial Developer of the Original Code is Netscape ! 17: * Communications Corporation. Portions created by Netscape are ! 18: * Copyright (C) 1998 Netscape Communications Corporation. All ! 19: * Rights Reserved. ! 20: * ! 21: * Contributor(s): ! 22: * ! 23: * Alternatively, the contents of this file may be used under the ! 24: * terms of the GNU Public License (the "GPL"), in which case the ! 25: * provisions of the GPL are applicable instead of those above. ! 26: * If you wish to allow use of your version of this file only ! 27: * under the terms of the GPL and not to allow others to use your ! 28: * version of this file under the NPL, indicate your decision by ! 29: * deleting the provisions above and replace them with the notice ! 30: * and other provisions required by the GPL. If you do not delete ! 31: * the provisions above, a recipient may use your version of this ! 32: * file under either the NPL or the GPL. ! 33: */ ! 34: ! 35: #ifndef jsarray_h___ ! 36: #define jsarray_h___ ! 37: /* ! 38: * JS Array interface. ! 39: */ ! 40: #include "jsprvtd.h" ! 41: #include "jspubtd.h" ! 42: ! 43: JS_BEGIN_EXTERN_C ! 44: ! 45: extern JSClass js_ArrayClass; ! 46: ! 47: extern JSObject * ! 48: js_InitArrayClass(JSContext *cx, JSObject *obj); ! 49: ! 50: extern JSObject * ! 51: js_NewArrayObject(JSContext *cx, jsuint length, jsval *vector); ! 52: ! 53: extern JSBool ! 54: js_GetLengthProperty(JSContext *cx, JSObject *obj, jsuint *lengthp); ! 55: ! 56: extern JSBool ! 57: js_SetLengthProperty(JSContext *cx, JSObject *obj, jsuint length); ! 58: ! 59: extern JSBool ! 60: js_HasLengthProperty(JSContext *cx, JSObject *obj, jsuint *lengthp); ! 61: ! 62: /* ! 63: * JS-specific heap sort function. ! 64: */ ! 65: typedef int (*JSComparator)(const void *a, const void *b, void *arg); ! 66: ! 67: extern JSBool ! 68: js_HeapSort(void *vec, size_t nel, size_t elsize, JSComparator cmp, void *arg); ! 69: ! 70: JS_END_EXTERN_C ! 71: ! 72: #endif /* jsarray_h___ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.