1 2 /* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7 #ifndef _NJS_OBJECT_HASH_H_INCLUDED_ 8 #define _NJS_OBJECT_HASH_H_INCLUDED_ 9 10 11 #define NJS___PROTO___HASH \ 12 njs_djb_hash_add( \ 13 njs_djb_hash_add( \ 14 njs_djb_hash_add( \ 15 njs_djb_hash_add( \ 16 njs_djb_hash_add( \ 17 njs_djb_hash_add( \ 18 njs_djb_hash_add( \ 19 njs_djb_hash_add( \ 20 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 21 '_'), '_'), 'p'), 'r'), 'o'), 't'), 'o'), '_'), '_') 22 23 24 #define NJS_ARRAY_HASH \ 25 njs_djb_hash_add( \ 26 njs_djb_hash_add( \ 27 njs_djb_hash_add( \ 28 njs_djb_hash_add( \ 29 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 30 'A'), 'r'), 'r'), 'a'), 'y') 31 32 33 #define NJS_ARGV_HASH \ 34 njs_djb_hash_add( \ 35 njs_djb_hash_add( \ 36 njs_djb_hash_add( \ 37 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 38 'a'), 'r'), 'g'), 'v') 39 40 41 #define NJS_BOOLEAN_HASH \ 42 njs_djb_hash_add( \ 43 njs_djb_hash_add( \ 44 njs_djb_hash_add( \ 45 njs_djb_hash_add( \ 46 njs_djb_hash_add( \ 47 njs_djb_hash_add( \ 48 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 49 'B'), 'o'), 'o'), 'l'), 'e'), 'a'), 'n') 50 51 52 #define NJS_CONFIGURABLE_HASH \ 53 njs_djb_hash_add( \ 54 njs_djb_hash_add( \ 55 njs_djb_hash_add( \ 56 njs_djb_hash_add( \ 57 njs_djb_hash_add( \ 58 njs_djb_hash_add( \ 59 njs_djb_hash_add( \ 60 njs_djb_hash_add( \ 61 njs_djb_hash_add( \ 62 njs_djb_hash_add( \ 63 njs_djb_hash_add( \ 64 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 65 'c'), 'o'), 'n'), 'f'), 'i'), 'g'), 'u'), 'r'), 'a'), 'b'), 'l'), 'e') 66 67 68 #define NJS_CONSTRUCTOR_HASH \ 69 njs_djb_hash_add( \ 70 njs_djb_hash_add( \ 71 njs_djb_hash_add( \ 72 njs_djb_hash_add( \ 73 njs_djb_hash_add( \ 74 njs_djb_hash_add( \ 75 njs_djb_hash_add( \ 76 njs_djb_hash_add( \ 77 njs_djb_hash_add( \ 78 njs_djb_hash_add( \ 79 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 80 'c'), 'o'), 'n'), 's'), 't'), 'r'), 'u'), 'c'), 't'), 'o'), 'r') 81 82 83 #define NJS_DATE_HASH \ 84 njs_djb_hash_add( \ 85 njs_djb_hash_add( \ 86 njs_djb_hash_add( \ 87 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 88 'D'), 'a'), 't'), 'e') 89 90 91 #define NJS_PROMISE_HASH \ 92 njs_djb_hash_add( \ 93 njs_djb_hash_add( \ 94 njs_djb_hash_add( \ 95 njs_djb_hash_add( \ 96 njs_djb_hash_add( \ 97 njs_djb_hash_add( \ 98 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 99 'P'), 'r'), 'o'), 'm'), 'i'), 's'), 'e') 100 101 102 #define NJS_ENUMERABLE_HASH \ 103 njs_djb_hash_add( \ 104 njs_djb_hash_add( \ 105 njs_djb_hash_add( \ 106 njs_djb_hash_add( \ 107 njs_djb_hash_add( \ 108 njs_djb_hash_add( \ 109 njs_djb_hash_add( \ 110 njs_djb_hash_add( \ 111 njs_djb_hash_add( \ 112 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 113 'e'), 'n'), 'u'), 'm'), 'e'), 'r'), 'a'), 'b'), 'l'), 'e') 114 115 116 #define NJS_ERRNO_HASH \ 117 njs_djb_hash_add( \ 118 njs_djb_hash_add( \ 119 njs_djb_hash_add( \ 120 njs_djb_hash_add( \ 121 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 122 'e'), 'r'), 'r'), 'n'), 'o') 123 124 125 #define NJS_ERROR_HASH \ 126 njs_djb_hash_add( \ 127 njs_djb_hash_add( \ 128 njs_djb_hash_add( \ 129 njs_djb_hash_add( \ 130 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 131 'E'), 'r'), 'r'), 'o'), 'r') 132 133 134 #define NJS_ENCODING_HASH \ 135 njs_djb_hash_add( \ 136 njs_djb_hash_add( \ 137 njs_djb_hash_add( \ 138 njs_djb_hash_add( \ 139 njs_djb_hash_add( \ 140 njs_djb_hash_add( \ 141 njs_djb_hash_add( \ 142 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 143 'e'), 'n'), 'c'), 'o'), 'd'), 'i'), 'n'), 'g') 144 145 146 #define NJS_ENV_HASH \ 147 njs_djb_hash_add( \ 148 njs_djb_hash_add( \ 149 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 150 'e'), 'n'), 'v') 151 152 153 #define NJS_EVAL_ERROR_HASH \ 154 njs_djb_hash_add( \ 155 njs_djb_hash_add( \ 156 njs_djb_hash_add( \ 157 njs_djb_hash_add( \ 158 njs_djb_hash_add( \ 159 njs_djb_hash_add( \ 160 njs_djb_hash_add( \ 161 njs_djb_hash_add( \ 162 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 163 'E'), 'v'), 'a'), 'l'), 'E'), 'r'), 'r'), 'o'), 'r') 164 165 166 #define NJS_FLAG_HASH \ 167 njs_djb_hash_add( \ 168 njs_djb_hash_add( \ 169 njs_djb_hash_add( \ 170 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 171 'f'), 'l'), 'a'), 'g') 172 173 174 #define NJS_GET_HASH \ 175 njs_djb_hash_add( \ 176 njs_djb_hash_add( \ 177 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 178 'g'), 'e'), 't') 179 180 181 #define NJS_GLOBAL_HASH \ 182 njs_djb_hash_add( \ 183 njs_djb_hash_add( \ 184 njs_djb_hash_add( \ 185 njs_djb_hash_add( \ 186 njs_djb_hash_add( \ 187 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 188 'g'), 'l'), 'o'), 'b'), 'a'), 'l') 189 190 191 #define NJS_GLOBAL_THIS_HASH \ 192 njs_djb_hash_add( \ 193 njs_djb_hash_add( \ 194 njs_djb_hash_add( \ 195 njs_djb_hash_add( \ 196 njs_djb_hash_add( \ 197 njs_djb_hash_add( \ 198 njs_djb_hash_add( \ 199 njs_djb_hash_add( \ 200 njs_djb_hash_add( \ 201 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 202 'g'), 'l'), 'o'), 'b'), 'a'), 'l'), 'T'), 'h'), 'i'), 's') 203 204 205 #define NJS_FUNCTION_HASH \ 206 njs_djb_hash_add( \ 207 njs_djb_hash_add( \ 208 njs_djb_hash_add( \ 209 njs_djb_hash_add( \ 210 njs_djb_hash_add( \ 211 njs_djb_hash_add( \ 212 njs_djb_hash_add( \ 213 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 214 'F'), 'u'), 'n'), 'c'), 't'), 'i'), 'o'), 'n') 215 216 217 #define NJS_INDEX_HASH \ 218 njs_djb_hash_add( \ 219 njs_djb_hash_add( \ 220 njs_djb_hash_add( \ 221 njs_djb_hash_add( \ 222 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 223 'i'), 'n'), 'd'), 'e'), 'x') 224 225 226 #define NJS_INPUT_HASH \ 227 njs_djb_hash_add( \ 228 njs_djb_hash_add( \ 229 njs_djb_hash_add( \ 230 njs_djb_hash_add( \ 231 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 232 'i'), 'n'), 'p'), 'u'), 't') 233 234 235 #define NJS_INTERNAL_ERROR_HASH \ 236 njs_djb_hash_add( \ 237 njs_djb_hash_add( \ 238 njs_djb_hash_add( \ 239 njs_djb_hash_add( \ 240 njs_djb_hash_add( \ 241 njs_djb_hash_add( \ 242 njs_djb_hash_add( \ 243 njs_djb_hash_add( \ 244 njs_djb_hash_add( \ 245 njs_djb_hash_add( \ 246 njs_djb_hash_add( \ 247 njs_djb_hash_add( \ 248 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 249 'I'), 'n'), 't'), 'e'), 'r'), 'n'), 'a'), 'l'), \ 250 'E'), 'r'), 'r'), 'o'), 'r') 251 252 253 #define NJS_GROUPS_HASH \ 254 njs_djb_hash_add( \ 255 njs_djb_hash_add( \ 256 njs_djb_hash_add( \ 257 njs_djb_hash_add( \ 258 njs_djb_hash_add( \ 259 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 260 'g'), 'r'), 'o'), 'u'), 'p'), 's') 261 262 263 #define NJS_JOIN_HASH \ 264 njs_djb_hash_add( \ 265 njs_djb_hash_add( \ 266 njs_djb_hash_add( \ 267 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 268 'j'), 'o'), 'i'), 'n') 269 270 271 #define NJS_JSON_HASH \ 272 njs_djb_hash_add( \ 273 njs_djb_hash_add( \ 274 njs_djb_hash_add( \ 275 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 276 'J'), 'S'), 'O'), 'N') 277 278 279 #define NJS_LENGTH_HASH \ 280 njs_djb_hash_add( \ 281 njs_djb_hash_add( \ 282 njs_djb_hash_add( \ 283 njs_djb_hash_add( \ 284 njs_djb_hash_add( \ 285 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 286 'l'), 'e'), 'n'), 'g'), 't'), 'h') 287 288 289 #define NJS_NAME_HASH \ 290 njs_djb_hash_add( \ 291 njs_djb_hash_add( \ 292 njs_djb_hash_add( \ 293 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 294 'n'), 'a'), 'm'), 'e') 295 296 297 #define NJS_NJS_HASH \ 298 njs_djb_hash_add( \ 299 njs_djb_hash_add( \ 300 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 301 'n'), 'j'), 's') 302 303 304 #define NJS_262_HASH \ 305 njs_djb_hash_add( \ 306 njs_djb_hash_add( \ 307 njs_djb_hash_add( \ 308 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 309 '$'), '2'), '6'), '2') 310 311 312 #define NJS_NUMBER_HASH \ 313 njs_djb_hash_add( \ 314 njs_djb_hash_add( \ 315 njs_djb_hash_add( \ 316 njs_djb_hash_add( \ 317 njs_djb_hash_add( \ 318 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 319 'N'), 'u'), 'm'), 'b'), 'e'), 'r') 320 321 322 #define NJS_MATH_HASH \ 323 njs_djb_hash_add( \ 324 njs_djb_hash_add( \ 325 njs_djb_hash_add( \ 326 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 327 'M'), 'a'), 't'), 'h') 328 329 330 #define NJS_MEMORY_ERROR_HASH \ 331 njs_djb_hash_add( \ 332 njs_djb_hash_add( \ 333 njs_djb_hash_add( \ 334 njs_djb_hash_add( \ 335 njs_djb_hash_add( \ 336 njs_djb_hash_add( \ 337 njs_djb_hash_add( \ 338 njs_djb_hash_add( \ 339 njs_djb_hash_add( \ 340 njs_djb_hash_add( \ 341 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 342 'M'), 'e'), 'm'), 'o'), 'r'), 'y'), \ 343 'E'), 'r'), 'r'), 'o'), 'r') 344 345 346 #define NJS_AGGREGATE_ERROR_HASH \ 347 njs_djb_hash_add( \ 348 njs_djb_hash_add( \ 349 njs_djb_hash_add( \ 350 njs_djb_hash_add( \ 351 njs_djb_hash_add( \ 352 njs_djb_hash_add( \ 353 njs_djb_hash_add( \ 354 njs_djb_hash_add( \ 355 njs_djb_hash_add( \ 356 njs_djb_hash_add( \ 357 njs_djb_hash_add( \ 358 njs_djb_hash_add( \ 359 njs_djb_hash_add( \ 360 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 361 'A'), 'g'), 'g'), 'r'), 'e'), 'g'), 'a'), 't'), 'e'), \ 362 'E'), 'r'), 'r'), 'o'), 'r') 363 364 365 #define NJS_MESSAGE_HASH \ 366 njs_djb_hash_add( \ 367 njs_djb_hash_add( \ 368 njs_djb_hash_add( \ 369 njs_djb_hash_add( \ 370 njs_djb_hash_add( \ 371 njs_djb_hash_add( \ 372 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 373 'm'), 'e'), 's'), 's'), 'a'), 'g'), 'e') 374 375 376 #define NJS_ERRORS_HASH \ 377 njs_djb_hash_add( \ 378 njs_djb_hash_add( \ 379 njs_djb_hash_add( \ 380 njs_djb_hash_add( \ 381 njs_djb_hash_add( \ 382 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 383 'e'), 'r'), 'r'), 'o'), 'r'), 's') 384 385 386 #define NJS_MODE_HASH \ 387 njs_djb_hash_add( \ 388 njs_djb_hash_add( \ 389 njs_djb_hash_add( \ 390 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 391 'm'), 'o'), 'd'), 'e') 392 393 394 #define NJS_OBJECT_HASH \ 395 njs_djb_hash_add( \ 396 njs_djb_hash_add( \ 397 njs_djb_hash_add( \ 398 njs_djb_hash_add( \ 399 njs_djb_hash_add( \ 400 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 401 'O'), 'b'), 'j'), 'e'), 'c'), 't') 402 403 404 #define NJS_PATH_HASH \ 405 njs_djb_hash_add( \ 406 njs_djb_hash_add( \ 407 njs_djb_hash_add( \ 408 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 409 'p'), 'a'), 't'), 'h') 410 411 412 #define NJS_PROCESS_HASH \ 413 njs_djb_hash_add( \ 414 njs_djb_hash_add( \ 415 njs_djb_hash_add( \ 416 njs_djb_hash_add( \ 417 njs_djb_hash_add( \ 418 njs_djb_hash_add( \ 419 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 420 'p'), 'r'), 'o'), 'c'), 'e'), 's'), 's') 421 422 423 #define NJS_PROTOTYPE_HASH \ 424 njs_djb_hash_add( \ 425 njs_djb_hash_add( \ 426 njs_djb_hash_add( \ 427 njs_djb_hash_add( \ 428 njs_djb_hash_add( \ 429 njs_djb_hash_add( \ 430 njs_djb_hash_add( \ 431 njs_djb_hash_add( \ 432 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 433 'p'), 'r'), 'o'), 't'), 'o'), 't'), 'y'), 'p'), 'e') 434 435 436 #define NJS_RANGE_ERROR_HASH \ 437 njs_djb_hash_add( \ 438 njs_djb_hash_add( \ 439 njs_djb_hash_add( \ 440 njs_djb_hash_add( \ 441 njs_djb_hash_add( \ 442 njs_djb_hash_add( \ 443 njs_djb_hash_add( \ 444 njs_djb_hash_add( \ 445 njs_djb_hash_add( \ 446 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 447 'R'), 'a'), 'n'), 'g'), 'e'), 'E'), 'r'), 'r'), 'o'), 'r') 448 449 450 #define NJS_REF_ERROR_HASH \ 451 njs_djb_hash_add( \ 452 njs_djb_hash_add( \ 453 njs_djb_hash_add( \ 454 njs_djb_hash_add( \ 455 njs_djb_hash_add( \ 456 njs_djb_hash_add( \ 457 njs_djb_hash_add( \ 458 njs_djb_hash_add( \ 459 njs_djb_hash_add( \ 460 njs_djb_hash_add( \ 461 njs_djb_hash_add( \ 462 njs_djb_hash_add( \ 463 njs_djb_hash_add( \ 464 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 465 'R'), 'e'), 'f'), 'e'), 'r'), 'e'), 'n'), 'c'), 'e'), \ 466 'E'), 'r'), 'r'), 'o'), 'r') 467 468 469 #define NJS_REGEXP_HASH \ 470 njs_djb_hash_add( \ 471 njs_djb_hash_add( \ 472 njs_djb_hash_add( \ 473 njs_djb_hash_add( \ 474 njs_djb_hash_add( \ 475 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 476 'R'), 'e'), 'g'), 'E'), 'x'), 'p') 477 478 479 #define NJS_SET_HASH \ 480 njs_djb_hash_add( \ 481 njs_djb_hash_add( \ 482 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 483 's'), 'e'), 't') 484 485 486 #define NJS_STACK_HASH \ 487 njs_djb_hash_add( \ 488 njs_djb_hash_add( \ 489 njs_djb_hash_add( \ 490 njs_djb_hash_add( \ 491 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 492 's'), 't'), 'a'), 'c'), 'k') 493 494 495 #define NJS_STRING_HASH \ 496 njs_djb_hash_add( \ 497 njs_djb_hash_add( \ 498 njs_djb_hash_add( \ 499 njs_djb_hash_add( \ 500 njs_djb_hash_add( \ 501 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 502 'S'), 't'), 'r'), 'i'), 'n'), 'g') 503 504 505 #define NJS_SYMBOL_HASH \ 506 njs_djb_hash_add( \ 507 njs_djb_hash_add( \ 508 njs_djb_hash_add( \ 509 njs_djb_hash_add( \ 510 njs_djb_hash_add( \ 511 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 512 'S'), 'y'), 'm'), 'b'), 'o'), 'l') 513 514 515 #define NJS_SYNTAX_ERROR_HASH \ 516 njs_djb_hash_add( \ 517 njs_djb_hash_add( \ 518 njs_djb_hash_add( \ 519 njs_djb_hash_add( \ 520 njs_djb_hash_add( \ 521 njs_djb_hash_add( \ 522 njs_djb_hash_add( \ 523 njs_djb_hash_add( \ 524 njs_djb_hash_add( \ 525 njs_djb_hash_add( \ 526 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 527 'S'), 'y'), 'n'), 't'), 'a'), 'x'), \ 528 'E'), 'r'), 'r'), 'o'), 'r') 529 530 531 #define NJS_SYSCALL_HASH \ 532 njs_djb_hash_add( \ 533 njs_djb_hash_add( \ 534 njs_djb_hash_add( \ 535 njs_djb_hash_add( \ 536 njs_djb_hash_add( \ 537 njs_djb_hash_add( \ 538 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 539 's'), 'y'), 's'), 'c'), 'a'), 'l'), 'l') 540 541 542 #define NJS_TO_JSON_HASH \ 543 njs_djb_hash_add( \ 544 njs_djb_hash_add( \ 545 njs_djb_hash_add( \ 546 njs_djb_hash_add( \ 547 njs_djb_hash_add( \ 548 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 549 't'), 'o'), 'J'), 'S'), 'O'), 'N') 550 551 552 #define NJS_TO_STRING_HASH \ 553 njs_djb_hash_add( \ 554 njs_djb_hash_add( \ 555 njs_djb_hash_add( \ 556 njs_djb_hash_add( \ 557 njs_djb_hash_add( \ 558 njs_djb_hash_add( \ 559 njs_djb_hash_add( \ 560 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 561 't'), 'o'), 'S'), 't'), 'r'), 'i'), 'n'), 'g') 562 563 564 #define NJS_TO_ISO_STRING_HASH \ 565 njs_djb_hash_add( \ 566 njs_djb_hash_add( \ 567 njs_djb_hash_add( \ 568 njs_djb_hash_add( \ 569 njs_djb_hash_add( \ 570 njs_djb_hash_add( \ 571 njs_djb_hash_add( \ 572 njs_djb_hash_add( \ 573 njs_djb_hash_add( \ 574 njs_djb_hash_add( \ 575 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 576 't'), 'o'), 'I'), 'S'), 'O'), 'S'), 't'), 'r'), 'i'), 'n'), 'g') 577 578 579 #define NJS_TYPE_ERROR_HASH \ 580 njs_djb_hash_add( \ 581 njs_djb_hash_add( \ 582 njs_djb_hash_add( \ 583 njs_djb_hash_add( \ 584 njs_djb_hash_add( \ 585 njs_djb_hash_add( \ 586 njs_djb_hash_add( \ 587 njs_djb_hash_add( \ 588 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 589 'T'), 'y'), 'p'), 'e'), 'E'), 'r'), 'r'), 'o'), 'r') 590 591 592 #define NJS_VALUE_HASH \ 593 njs_djb_hash_add( \ 594 njs_djb_hash_add( \ 595 njs_djb_hash_add( \ 596 njs_djb_hash_add( \ 597 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 598 'v'), 'a'), 'l'), 'u'), 'e') 599 600 601 #define NJS_VALUE_OF_HASH \ 602 njs_djb_hash_add( \ 603 njs_djb_hash_add( \ 604 njs_djb_hash_add( \ 605 njs_djb_hash_add( \ 606 njs_djb_hash_add( \ 607 njs_djb_hash_add( \ 608 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 609 'v'), 'a'), 'l'), 'u'), 'e'), 'O'), 'f') 610 611 612 #define NJS_WRITABABLE_HASH \ 613 njs_djb_hash_add( \ 614 njs_djb_hash_add( \ 615 njs_djb_hash_add( \ 616 njs_djb_hash_add( \ 617 njs_djb_hash_add( \ 618 njs_djb_hash_add( \ 619 njs_djb_hash_add( \ 620 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 621 'w'), 'r'), 'i'), 't'), 'a'), 'b'), 'l'), 'e') 622 623 624 #define NJS_URI_ERROR_HASH \ 625 njs_djb_hash_add( \ 626 njs_djb_hash_add( \ 627 njs_djb_hash_add( \ 628 njs_djb_hash_add( \ 629 njs_djb_hash_add( \ 630 njs_djb_hash_add( \ 631 njs_djb_hash_add( \ 632 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 633 'U'), 'R'), 'I'), 'E'), 'r'), 'r'), 'o'), 'r') 634 635 636 #define NJS_ARRAY_BUFFER_HASH \ 637 njs_djb_hash_add( \ 638 njs_djb_hash_add( \ 639 njs_djb_hash_add( \ 640 njs_djb_hash_add( \ 641 njs_djb_hash_add( \ 642 njs_djb_hash_add( \ 643 njs_djb_hash_add( \ 644 njs_djb_hash_add( \ 645 njs_djb_hash_add( \ 646 njs_djb_hash_add( \ 647 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 648 'A'), 'r'), 'r'), 'a'), 'y'), 'B'), 'u'), 'f'), 'f'), 'e'), 'r') 649 650 651 #define NJS_DATA_VIEW_HASH \ 652 njs_djb_hash_add( \ 653 njs_djb_hash_add( \ 654 njs_djb_hash_add( \ 655 njs_djb_hash_add( \ 656 njs_djb_hash_add( \ 657 njs_djb_hash_add( \ 658 njs_djb_hash_add( \ 659 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 660 'D'), 'a'), 't'), 'a'), 'V'), 'i'), 'e'), 'w') 661 662 663 #define NJS_UINT8ARRAY_HASH \ 664 njs_djb_hash_add( \ 665 njs_djb_hash_add( \ 666 njs_djb_hash_add( \ 667 njs_djb_hash_add( \ 668 njs_djb_hash_add( \ 669 njs_djb_hash_add( \ 670 njs_djb_hash_add( \ 671 njs_djb_hash_add( \ 672 njs_djb_hash_add( \ 673 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 674 'U'), 'i'), 'n'), 't'), '8'), 'A'), 'r'), 'r'), 'a'), 'y') 675 676 677 #define NJS_UINT16ARRAY_HASH \ 678 njs_djb_hash_add( \ 679 njs_djb_hash_add( \ 680 njs_djb_hash_add( \ 681 njs_djb_hash_add( \ 682 njs_djb_hash_add( \ 683 njs_djb_hash_add( \ 684 njs_djb_hash_add( \ 685 njs_djb_hash_add( \ 686 njs_djb_hash_add( \ 687 njs_djb_hash_add( \ 688 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 689 'U'), 'i'), 'n'), 't'), '1'), '6'), 'A'), 'r'), 'r'), 'a'), 'y') 690 691 692 #define NJS_UINT32ARRAY_HASH \ 693 njs_djb_hash_add( \ 694 njs_djb_hash_add( \ 695 njs_djb_hash_add( \ 696 njs_djb_hash_add( \ 697 njs_djb_hash_add( \ 698 njs_djb_hash_add( \ 699 njs_djb_hash_add( \ 700 njs_djb_hash_add( \ 701 njs_djb_hash_add( \ 702 njs_djb_hash_add( \ 703 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 704 'U'), 'i'), 'n'), 't'), '3'), '2'), 'A'), 'r'), 'r'), 'a'), 'y') 705 706 707 #define NJS_INT8ARRAY_HASH \ 708 njs_djb_hash_add( \ 709 njs_djb_hash_add( \ 710 njs_djb_hash_add( \ 711 njs_djb_hash_add( \ 712 njs_djb_hash_add( \ 713 njs_djb_hash_add( \ 714 njs_djb_hash_add( \ 715 njs_djb_hash_add( \ 716 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 717 'I'), 'n'), 't'), '8'), 'A'), 'r'), 'r'), 'a'), 'y') 718 719 720 #define NJS_INT16ARRAY_HASH \ 721 njs_djb_hash_add( \ 722 njs_djb_hash_add( \ 723 njs_djb_hash_add( \ 724 njs_djb_hash_add( \ 725 njs_djb_hash_add( \ 726 njs_djb_hash_add( \ 727 njs_djb_hash_add( \ 728 njs_djb_hash_add( \ 729 njs_djb_hash_add( \ 730 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 731 'I'), 'n'), 't'), '1'), '6'), 'A'), 'r'), 'r'), 'a'), 'y') 732 733 734 #define NJS_INT32ARRAY_HASH \ 735 njs_djb_hash_add( \ 736 njs_djb_hash_add( \ 737 njs_djb_hash_add( \ 738 njs_djb_hash_add( \ 739 njs_djb_hash_add( \ 740 njs_djb_hash_add( \ 741 njs_djb_hash_add( \ 742 njs_djb_hash_add( \ 743 njs_djb_hash_add( \ 744 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 745 'I'), 'n'), 't'), '3'), '2'), 'A'), 'r'), 'r'), 'a'), 'y') 746 747 748 #define NJS_FLOAT32ARRAY_HASH \ 749 njs_djb_hash_add( \ 750 njs_djb_hash_add( \ 751 njs_djb_hash_add( \ 752 njs_djb_hash_add( \ 753 njs_djb_hash_add( \ 754 njs_djb_hash_add( \ 755 njs_djb_hash_add( \ 756 njs_djb_hash_add( \ 757 njs_djb_hash_add( \ 758 njs_djb_hash_add( \ 759 njs_djb_hash_add( \ 760 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 761 'F'), 'l'), 'o'), 'a'), 't'), '3'), '2'), 'A'), 'r'), 'r'), 'a'), 'y') 762 763 764 #define NJS_FLOAT64ARRAY_HASH \ 765 njs_djb_hash_add( \ 766 njs_djb_hash_add( \ 767 njs_djb_hash_add( \ 768 njs_djb_hash_add( \ 769 njs_djb_hash_add( \ 770 njs_djb_hash_add( \ 771 njs_djb_hash_add( \ 772 njs_djb_hash_add( \ 773 njs_djb_hash_add( \ 774 njs_djb_hash_add( \ 775 njs_djb_hash_add( \ 776 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 777 'F'), 'l'), 'o'), 'a'), 't'), '6'), '4'), 'A'), 'r'), 'r'), 'a'), 'y') 778 779 780 #define NJS_UINT8CLAMPEDARRAY_HASH \ 781 njs_djb_hash_add( \ 782 njs_djb_hash_add( \ 783 njs_djb_hash_add( \ 784 njs_djb_hash_add( \ 785 njs_djb_hash_add( \ 786 njs_djb_hash_add( \ 787 njs_djb_hash_add( \ 788 njs_djb_hash_add( \ 789 njs_djb_hash_add( \ 790 njs_djb_hash_add( \ 791 njs_djb_hash_add( \ 792 njs_djb_hash_add( \ 793 njs_djb_hash_add( \ 794 njs_djb_hash_add( \ 795 njs_djb_hash_add( \ 796 njs_djb_hash_add( \ 797 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 798 'U'), 'i'), 'n'), 't'), '8'), 'C'), 'l'), 'a'), 'm'), 'p'), 'e'), \ 799 'd'), 'A'), 'r'), 'r'), 'a'), 'y') 800 801 802 #define NJS_TEXT_DECODER_HASH \ 803 njs_djb_hash_add( \ 804 njs_djb_hash_add( \ 805 njs_djb_hash_add( \ 806 njs_djb_hash_add( \ 807 njs_djb_hash_add( \ 808 njs_djb_hash_add( \ 809 njs_djb_hash_add( \ 810 njs_djb_hash_add( \ 811 njs_djb_hash_add( \ 812 njs_djb_hash_add( \ 813 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 814 'T'), 'e'), 'x'), 't'), 'D'), 'e'), 'c'), 'o'), 'd'), 'e'), 'r') 815 816 817 #define NJS_TEXT_ENCODER_HASH \ 818 njs_djb_hash_add( \ 819 njs_djb_hash_add( \ 820 njs_djb_hash_add( \ 821 njs_djb_hash_add( \ 822 njs_djb_hash_add( \ 823 njs_djb_hash_add( \ 824 njs_djb_hash_add( \ 825 njs_djb_hash_add( \ 826 njs_djb_hash_add( \ 827 njs_djb_hash_add( \ 828 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 829 'T'), 'e'), 'x'), 't'), 'E'), 'n'), 'c'), 'o'), 'd'), 'e'), 'r') 830 831 832 #define NJS_BUFFER_HASH \ 833 njs_djb_hash_add( \ 834 njs_djb_hash_add( \ 835 njs_djb_hash_add( \ 836 njs_djb_hash_add( \ 837 njs_djb_hash_add( \ 838 njs_djb_hash_add(NJS_DJB_HASH_INIT, \ 839 'B'), 'u'), 'f'), 'f'), 'e'), 'r') 840 841 842 #endif /* _NJS_OBJECT_HASH_H_INCLUDED_ */ 843