bin_utils 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/bin_utils/native.c +706 -448
- data/lib/bin_utils/pure_ruby.rb +431 -260
- data/lib/bin_utils/version.rb +1 -1
- data/test/test_bin_utils.rb +137 -222
- metadata +2 -2
data/lib/bin_utils/pure_ruby.rb
CHANGED
@@ -5,6 +5,9 @@ class String
|
|
5
5
|
end
|
6
6
|
|
7
7
|
module BinUtils
|
8
|
+
# Pure Ruby implementation of bin utils.
|
9
|
+
# It is provided mostly as reference implementation, but JIT enabled ruby implementations
|
10
|
+
# (such as jruby and rubinius) could benefit from it.
|
8
11
|
module PureRuby
|
9
12
|
extend self
|
10
13
|
INT32_INT32_LE = 'VV'.freeze
|
@@ -277,408 +280,576 @@ module BinUtils
|
|
277
280
|
res
|
278
281
|
end
|
279
282
|
|
280
|
-
def append_int8!(str,
|
281
|
-
|
283
|
+
def append_int8!(str, *ints)
|
284
|
+
i = 0
|
285
|
+
sz = ints.size
|
286
|
+
while i < sz
|
287
|
+
str << (ints[i] & 255)
|
288
|
+
i += 1
|
289
|
+
end
|
290
|
+
str
|
291
|
+
end
|
292
|
+
|
293
|
+
def append_int16_le!(str, *ints)
|
294
|
+
i = 0
|
295
|
+
sz = ints.size
|
296
|
+
while i < sz
|
297
|
+
int = ints[i]
|
298
|
+
str << (int & 255) << ((int>>8) & 255)
|
299
|
+
i += 1
|
300
|
+
end
|
301
|
+
str
|
302
|
+
end
|
303
|
+
|
304
|
+
def append_int24_le!(str, *ints)
|
305
|
+
i = 0
|
306
|
+
sz = ints.size
|
307
|
+
while i < sz
|
308
|
+
int = ints[i]
|
309
|
+
str << (int & 255) << ((int>>8) & 255) <<
|
310
|
+
((int>>16) & 255)
|
311
|
+
i += 1
|
312
|
+
end
|
313
|
+
str
|
314
|
+
end
|
315
|
+
|
316
|
+
def append_int32_le!(str, *ints)
|
317
|
+
i = 0
|
318
|
+
sz = ints.size
|
319
|
+
while i < sz
|
320
|
+
int = ints[i]
|
321
|
+
str << (int & 255) << ((int>>8) & 255) <<
|
322
|
+
((int>>16) & 255) << ((int>>24) & 255)
|
323
|
+
i += 1
|
324
|
+
end
|
325
|
+
str
|
326
|
+
end
|
327
|
+
|
328
|
+
def append_int40_le!(str, *ints)
|
329
|
+
i = 0
|
330
|
+
sz = ints.size
|
331
|
+
while i < sz
|
332
|
+
int = ints[i]
|
333
|
+
str << (int & 255) << ((int>>8) & 255) <<
|
334
|
+
((int>>16) & 255) << ((int>>24) & 255) <<
|
335
|
+
((int>>32) & 255)
|
336
|
+
i += 1
|
337
|
+
end
|
338
|
+
str
|
339
|
+
end
|
340
|
+
|
341
|
+
def append_int48_le!(str, *ints)
|
342
|
+
i = 0
|
343
|
+
sz = ints.size
|
344
|
+
while i < sz
|
345
|
+
int = ints[i]
|
346
|
+
str << [int & MAX_INT32, int >> 32].pack(INT32_INT16_LE)
|
347
|
+
i += 1
|
348
|
+
end
|
349
|
+
str
|
350
|
+
end
|
351
|
+
|
352
|
+
def append_int56_le!(str, *ints)
|
353
|
+
i = 0
|
354
|
+
sz = ints.size
|
355
|
+
while i < sz
|
356
|
+
int = ints[i]
|
357
|
+
str << [int & MAX_INT32, (int >> 32) & MAX_INT16, (int >> 48)].pack(INT32_INT16_INT8_LE)
|
358
|
+
i += 1
|
359
|
+
end
|
360
|
+
str
|
361
|
+
end
|
362
|
+
|
363
|
+
def append_int64_le!(str, *ints)
|
364
|
+
i = 0
|
365
|
+
sz = ints.size
|
366
|
+
while i < sz
|
367
|
+
int = ints[i]
|
368
|
+
str << [int & MAX_INT32, int >> 32].pack(INT32_INT32_LE)
|
369
|
+
i += 1
|
370
|
+
end
|
371
|
+
str
|
372
|
+
end
|
373
|
+
|
374
|
+
def append_int16_be!(str, *ints)
|
375
|
+
i = 0
|
376
|
+
sz = ints.size
|
377
|
+
while i < sz
|
378
|
+
int = ints[i]
|
379
|
+
str << ((int>>8) & 255) << (int & 255)
|
380
|
+
i += 1
|
381
|
+
end
|
382
|
+
str
|
383
|
+
end
|
384
|
+
|
385
|
+
def append_int24_be!(str, *ints)
|
386
|
+
i = 0
|
387
|
+
sz = ints.size
|
388
|
+
while i < sz
|
389
|
+
int = ints[i]
|
390
|
+
str << ((int>>16) & 255) << ((int>>8) & 255) << (int & 255)
|
391
|
+
i += 1
|
392
|
+
end
|
393
|
+
str
|
394
|
+
end
|
395
|
+
|
396
|
+
def append_int32_be!(str, *ints)
|
397
|
+
i = 0
|
398
|
+
sz = ints.size
|
399
|
+
while i < sz
|
400
|
+
int = ints[i]
|
401
|
+
str << ((int>>24) & 255) << ((int>>16) & 255) <<
|
402
|
+
((int>>8) & 255) << (int & 255)
|
403
|
+
i += 1
|
404
|
+
end
|
405
|
+
str
|
406
|
+
end
|
407
|
+
|
408
|
+
def append_int40_be!(str, *ints)
|
409
|
+
i = 0
|
410
|
+
sz = ints.size
|
411
|
+
while i < sz
|
412
|
+
int = ints[i]
|
413
|
+
str << ((int>>32) & 255) << ((int>>24) & 255) <<
|
414
|
+
((int>>16) & 255) << ((int>>8) & 255) <<
|
415
|
+
(int & 255)
|
416
|
+
i += 1
|
417
|
+
end
|
418
|
+
str
|
282
419
|
end
|
283
420
|
|
284
|
-
def
|
285
|
-
|
421
|
+
def append_int48_be!(str, *ints)
|
422
|
+
i = 0
|
423
|
+
sz = ints.size
|
424
|
+
while i < sz
|
425
|
+
int = ints[i]
|
426
|
+
str << [int >> 32, int & MAX_INT32].pack(INT16_INT32_BE)
|
427
|
+
i += 1
|
428
|
+
end
|
429
|
+
str
|
286
430
|
end
|
287
431
|
|
288
|
-
def
|
289
|
-
|
432
|
+
def append_int56_be!(str, *ints)
|
433
|
+
i = 0
|
434
|
+
sz = ints.size
|
435
|
+
while i < sz
|
436
|
+
int = ints[i]
|
437
|
+
str << [(int >> 48), (int >> 32) & MAX_INT16, int & MAX_INT32].pack(INT8_INT16_INT32_BE)
|
438
|
+
i += 1
|
439
|
+
end
|
440
|
+
str
|
290
441
|
end
|
291
442
|
|
292
|
-
def
|
293
|
-
|
294
|
-
|
443
|
+
def append_int64_be!(str, *ints)
|
444
|
+
i = 0
|
445
|
+
sz = ints.size
|
446
|
+
while i < sz
|
447
|
+
int = ints[i]
|
448
|
+
str << [int >> 32, int & MAX_INT32].pack(INT32_INT32_BE)
|
449
|
+
i += 1
|
450
|
+
end
|
451
|
+
str
|
295
452
|
end
|
296
453
|
|
297
|
-
def
|
298
|
-
str
|
299
|
-
|
454
|
+
def append_bersize_int8!(str, *ints)
|
455
|
+
append_ber!(str, ints.size)
|
456
|
+
append_int8!(str, *ints)
|
300
457
|
end
|
301
458
|
|
302
|
-
def
|
303
|
-
str
|
304
|
-
|
305
|
-
((int>>32) & 255)
|
459
|
+
def append_bersize_int16_le!(str, *ints)
|
460
|
+
append_ber!(str, ints.size * 2)
|
461
|
+
append_int16_le!(str, *ints)
|
306
462
|
end
|
307
463
|
|
308
|
-
def
|
309
|
-
str
|
464
|
+
def append_bersize_int24_le!(str, *ints)
|
465
|
+
append_ber!(str, ints.size * 3)
|
466
|
+
append_int24_le!(str, *ints)
|
310
467
|
end
|
311
468
|
|
312
|
-
def
|
313
|
-
str
|
469
|
+
def append_bersize_int32_le!(str, *ints)
|
470
|
+
append_ber!(str, ints.size * 4)
|
471
|
+
append_int32_le!(str, *ints)
|
314
472
|
end
|
315
473
|
|
316
|
-
def
|
317
|
-
str
|
474
|
+
def append_bersize_int40_le!(str, *ints)
|
475
|
+
append_ber!(str, ints.size * 5)
|
476
|
+
append_int40_le!(str, *ints)
|
318
477
|
end
|
319
478
|
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
alias append_sint40_le! append_int40_le!
|
325
|
-
alias append_sint48_le! append_int48_le!
|
326
|
-
alias append_sint56_le! append_int56_le!
|
327
|
-
alias append_sint64_le! append_int64_le!
|
479
|
+
def append_bersize_int48_le!(str, *ints)
|
480
|
+
append_ber!(str, ints.size * 6)
|
481
|
+
append_int48_le!(str, *ints)
|
482
|
+
end
|
328
483
|
|
329
|
-
def
|
330
|
-
str
|
484
|
+
def append_bersize_int56_le!(str, *ints)
|
485
|
+
append_ber!(str, ints.size * 7)
|
486
|
+
append_int56_le!(str, *ints)
|
331
487
|
end
|
332
488
|
|
333
|
-
def
|
334
|
-
str
|
489
|
+
def append_bersize_int64_le!(str, *ints)
|
490
|
+
append_ber!(str, ints.size * 8)
|
491
|
+
append_int64_le!(str, *ints)
|
335
492
|
end
|
336
493
|
|
337
|
-
def
|
338
|
-
str
|
339
|
-
|
494
|
+
def append_bersize_int16_be!(str, *ints)
|
495
|
+
append_ber!(str, ints.size * 2)
|
496
|
+
append_int16_be!(str, *ints)
|
340
497
|
end
|
341
498
|
|
342
|
-
def
|
343
|
-
str
|
344
|
-
|
345
|
-
(int & 255)
|
499
|
+
def append_bersize_int24_be!(str, *ints)
|
500
|
+
append_ber!(str, ints.size * 3)
|
501
|
+
append_int24_be!(str, *ints)
|
346
502
|
end
|
347
503
|
|
348
|
-
def
|
349
|
-
str
|
504
|
+
def append_bersize_int32_be!(str, *ints)
|
505
|
+
append_ber!(str, ints.size * 4)
|
506
|
+
append_int32_be!(str, *ints)
|
350
507
|
end
|
351
508
|
|
352
|
-
def
|
353
|
-
str
|
509
|
+
def append_bersize_int40_be!(str, *ints)
|
510
|
+
append_ber!(str, ints.size * 5)
|
511
|
+
append_int40_be!(str, *ints)
|
354
512
|
end
|
355
513
|
|
356
|
-
def
|
357
|
-
str
|
514
|
+
def append_bersize_int48_be!(str, *ints)
|
515
|
+
append_ber!(str, ints.size * 6)
|
516
|
+
append_int48_be!(str, *ints)
|
358
517
|
end
|
359
518
|
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
alias append_sint40_be! append_int40_be!
|
365
|
-
alias append_sint48_be! append_int48_be!
|
366
|
-
alias append_sint56_be! append_int56_be!
|
367
|
-
alias append_sint64_be! append_int64_be!
|
519
|
+
def append_bersize_int56_be!(str, *ints)
|
520
|
+
append_ber!(str, ints.size * 7)
|
521
|
+
append_int56_be!(str, *ints)
|
522
|
+
end
|
368
523
|
|
369
|
-
def
|
370
|
-
str
|
524
|
+
def append_bersize_int64_be!(str, *ints)
|
525
|
+
append_ber!(str, ints.size * 8)
|
526
|
+
append_int64_be!(str, *ints)
|
371
527
|
end
|
372
528
|
|
373
|
-
def
|
374
|
-
str
|
375
|
-
|
529
|
+
def append_int32size_int8_le!(str, *ints)
|
530
|
+
append_int32_le!(str, ints.size)
|
531
|
+
append_int8!(str, *ints)
|
376
532
|
end
|
377
533
|
|
378
|
-
def
|
379
|
-
str
|
380
|
-
|
381
|
-
((int>>16) & 255) << ((int>>24) & 255)
|
534
|
+
def append_int32size_int16_le!(str, *ints)
|
535
|
+
append_int32_le!(str, ints.size * 2)
|
536
|
+
append_int16_le!(str, *ints)
|
382
537
|
end
|
383
538
|
|
384
|
-
def
|
385
|
-
str
|
386
|
-
|
387
|
-
((int>>16) & 255) << ((int>>24) & 255) <<
|
388
|
-
((int>>32) & 255)
|
539
|
+
def append_int32size_int24_le!(str, *ints)
|
540
|
+
append_int32_le!(str, ints.size * 3)
|
541
|
+
append_int24_le!(str, *ints)
|
389
542
|
end
|
390
543
|
|
391
|
-
def
|
392
|
-
str
|
544
|
+
def append_int32size_int32_le!(str, *ints)
|
545
|
+
append_int32_le!(str, ints.size * 4)
|
546
|
+
append_int32_le!(str, *ints)
|
393
547
|
end
|
394
548
|
|
395
|
-
def
|
396
|
-
str
|
549
|
+
def append_int32size_int40_le!(str, *ints)
|
550
|
+
append_int32_le!(str, ints.size * 5)
|
551
|
+
append_int40_le!(str, *ints)
|
397
552
|
end
|
398
553
|
|
399
|
-
def
|
400
|
-
str
|
554
|
+
def append_int32size_int48_le!(str, *ints)
|
555
|
+
append_int32_le!(str, ints.size * 6)
|
556
|
+
append_int48_le!(str, *ints)
|
401
557
|
end
|
402
558
|
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
alias append_bersize_sint40_le! append_bersize_int40_le!
|
408
|
-
alias append_bersize_sint48_le! append_bersize_int48_le!
|
409
|
-
alias append_bersize_sint56_le! append_bersize_int56_le!
|
410
|
-
alias append_bersize_sint64_le! append_bersize_int64_le!
|
559
|
+
def append_int32size_int56_le!(str, *ints)
|
560
|
+
append_int32_le!(str, ints.size * 7)
|
561
|
+
append_int56_le!(str, *ints)
|
562
|
+
end
|
411
563
|
|
412
|
-
def
|
413
|
-
str
|
564
|
+
def append_int32size_int64_le!(str, *ints)
|
565
|
+
append_int32_le!(str, ints.size * 8)
|
566
|
+
append_int64_le!(str, *ints)
|
414
567
|
end
|
415
568
|
|
416
|
-
def
|
417
|
-
str
|
569
|
+
def append_int32size_int8_be!(str, *ints)
|
570
|
+
append_int32_be!(str, ints.size)
|
571
|
+
append_int8!(str, *ints)
|
418
572
|
end
|
419
573
|
|
420
|
-
def
|
421
|
-
str
|
422
|
-
|
423
|
-
((int>>8) & 255) << (int & 255)
|
574
|
+
def append_int32size_int16_be!(str, *ints)
|
575
|
+
append_int32_be!(str, ints.size * 2)
|
576
|
+
append_int16_be!(str, *ints)
|
424
577
|
end
|
425
578
|
|
426
|
-
def
|
427
|
-
str
|
428
|
-
|
429
|
-
((int>>16) & 255) << ((int>>8) & 255) <<
|
430
|
-
(int & 255)
|
579
|
+
def append_int32size_int24_be!(str, *ints)
|
580
|
+
append_int32_be!(str, ints.size * 3)
|
581
|
+
append_int24_be!(str, *ints)
|
431
582
|
end
|
432
583
|
|
433
|
-
def
|
434
|
-
str
|
584
|
+
def append_int32size_int32_be!(str, *ints)
|
585
|
+
append_int32_be!(str, ints.size * 4)
|
586
|
+
append_int32_be!(str, *ints)
|
435
587
|
end
|
436
588
|
|
437
|
-
def
|
438
|
-
str
|
589
|
+
def append_int32size_int40_be!(str, *ints)
|
590
|
+
append_int32_be!(str, ints.size * 5)
|
591
|
+
append_int40_be!(str, *ints)
|
439
592
|
end
|
440
593
|
|
441
|
-
def
|
442
|
-
str
|
594
|
+
def append_int32size_int48_be!(str, *ints)
|
595
|
+
append_int32_be!(str, ints.size * 6)
|
596
|
+
append_int48_be!(str, *ints)
|
443
597
|
end
|
444
598
|
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
alias append_bersize_sint48_be! append_bersize_int48_be!
|
450
|
-
alias append_bersize_sint56_be! append_bersize_int56_be!
|
451
|
-
alias append_bersize_sint64_be! append_bersize_int64_be!
|
599
|
+
def append_int32size_int56_be!(str, *ints)
|
600
|
+
append_int32_be!(str, ints.size * 7)
|
601
|
+
append_int56_be!(str, *ints)
|
602
|
+
end
|
452
603
|
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
INT32LE_4 = "\x04\x00\x00\x00"
|
457
|
-
INT32LE_5 = "\x05\x00\x00\x00"
|
458
|
-
INT32LE_6 = "\x06\x00\x00\x00"
|
459
|
-
INT32LE_7 = "\x07\x00\x00\x00"
|
460
|
-
INT32LE_8 = "\x08\x00\x00\x00"
|
461
|
-
def append_int32lesize_int8!(str, int)
|
462
|
-
str << INT32LE_1 << (int & 255)
|
604
|
+
def append_int32size_int64_be!(str, *ints)
|
605
|
+
append_int32_be!(str, ints.size * 8)
|
606
|
+
append_int64_be!(str, *ints)
|
463
607
|
end
|
464
608
|
|
465
|
-
|
466
|
-
|
609
|
+
BINARY = ::Encoding::BINARY
|
610
|
+
def append_string!(data, str)
|
611
|
+
data << str.dup.force_encoding(BINARY)
|
467
612
|
end
|
468
613
|
|
469
|
-
|
470
|
-
|
471
|
-
|
614
|
+
BER_STRING = "wa*".freeze
|
615
|
+
INT32LE_STRING = "Va*".freeze
|
616
|
+
INT32BE_STRING = "Na*".freeze
|
617
|
+
def append_bersize_string!(data, str)
|
618
|
+
data << [str.bytesize, str].pack(BER_STRING)
|
472
619
|
end
|
473
620
|
|
474
|
-
def
|
475
|
-
|
476
|
-
(int & 255) << ((int>>8) & 255) <<
|
477
|
-
((int>>16) & 255) << ((int>>24) & 255)
|
621
|
+
def append_int32size_string_le!(data, str)
|
622
|
+
data << [str.bytesize, str].pack(INT32LE_STRING)
|
478
623
|
end
|
479
624
|
|
480
|
-
def
|
481
|
-
|
482
|
-
(int & 255) << ((int>>8) & 255) <<
|
483
|
-
((int>>16) & 255) << ((int>>24) & 255) <<
|
484
|
-
((int>>32) & 255)
|
625
|
+
def append_int32size_string_be!(data, str)
|
626
|
+
data << [str.bytesize, str].pack(INT32BE_STRING)
|
485
627
|
end
|
486
628
|
|
487
|
-
|
488
|
-
|
629
|
+
BER = 'w*'
|
630
|
+
INT32LE_BER = 'Vw'
|
631
|
+
INT32BE_BER = 'Nw'
|
632
|
+
def append_ber!(data, *ints)
|
633
|
+
if ints.size == 1 && ints[0] < 128
|
634
|
+
data << ints[0]
|
635
|
+
else
|
636
|
+
data << ints.pack(BER)
|
637
|
+
end
|
489
638
|
end
|
490
639
|
|
491
|
-
def
|
492
|
-
|
640
|
+
def append_bersize_ber!(data, *ints)
|
641
|
+
bers = ints.pack(BER)
|
642
|
+
append_ber!(data, bers.size)
|
643
|
+
data << bers
|
493
644
|
end
|
494
645
|
|
495
|
-
def
|
496
|
-
|
646
|
+
def append_int32size_ber_le!(data, *ints)
|
647
|
+
bers = ints.pack(BER)
|
648
|
+
append_int32_le!(data, bers.size)
|
649
|
+
data << bers
|
497
650
|
end
|
498
651
|
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
alias append_int32lesize_sint48_le! append_int32lesize_int48_le!
|
505
|
-
alias append_int32lesize_sint56_le! append_int32lesize_int56_le!
|
506
|
-
alias append_int32lesize_sint64_le! append_int32lesize_int64_le!
|
652
|
+
def append_int32size_ber_be!(data, *ints)
|
653
|
+
bers = ints.pack(BER)
|
654
|
+
append_int32_be!(data, bers.size)
|
655
|
+
data << bers
|
656
|
+
end
|
507
657
|
|
508
|
-
|
509
|
-
|
658
|
+
# complex
|
659
|
+
|
660
|
+
def append_int8_ber!(data, int1, *ints)
|
661
|
+
data << (int1 & 255)
|
662
|
+
append_ber!(data, *ints)
|
510
663
|
end
|
511
664
|
|
512
|
-
def
|
513
|
-
|
665
|
+
def append_int8_int16_le!(data, int1, *ints)
|
666
|
+
data << (int1 & 255)
|
667
|
+
append_int16_le!(data, *ints)
|
514
668
|
end
|
515
669
|
|
516
|
-
def
|
517
|
-
|
518
|
-
|
519
|
-
((int>>8) & 255) << (int & 255)
|
670
|
+
def append_int8_int24_le!(data, int1, *ints)
|
671
|
+
data << (int1 & 255)
|
672
|
+
append_int24_le!(data, *ints)
|
520
673
|
end
|
521
674
|
|
522
|
-
def
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
675
|
+
def append_int8_int32_le!(data, int1, *ints)
|
676
|
+
data << (int1 & 255)
|
677
|
+
append_int32_le!(data, *ints)
|
678
|
+
end
|
679
|
+
|
680
|
+
def append_int16_ber_le!(data, int1, *ints)
|
681
|
+
append_int16_le!(data, int1)
|
682
|
+
append_ber!(data, *ints)
|
527
683
|
end
|
528
684
|
|
529
|
-
def
|
530
|
-
|
685
|
+
def append_int16_int8_le!(data, int1, *ints)
|
686
|
+
append_int16_le!(data, int1)
|
687
|
+
append_int8!(data, *ints)
|
531
688
|
end
|
532
689
|
|
533
|
-
def
|
534
|
-
|
690
|
+
def append_int16_int24_le!(data, int1, *ints)
|
691
|
+
append_int16_le!(data, int1)
|
692
|
+
append_int24_le!(data, *ints)
|
535
693
|
end
|
536
694
|
|
537
|
-
def
|
538
|
-
|
695
|
+
def append_int16_int32_le!(data, int1, *ints)
|
696
|
+
append_int16_le!(data, int1)
|
697
|
+
append_int32_le!(data, *ints)
|
698
|
+
end
|
699
|
+
|
700
|
+
def append_int24_ber_le!(data, int1, *ints)
|
701
|
+
append_int24_le!(data, int1)
|
702
|
+
append_ber!(data, *ints)
|
539
703
|
end
|
540
704
|
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
alias append_int32lesize_sint48_be! append_int32lesize_int48_be!
|
546
|
-
alias append_int32lesize_sint56_be! append_int32lesize_int56_be!
|
547
|
-
alias append_int32lesize_sint64_be! append_int32lesize_int64_be!
|
705
|
+
def append_int24_int8_le!(data, int1, *ints)
|
706
|
+
append_int24_le!(data, int1)
|
707
|
+
append_int8!(data, *ints)
|
708
|
+
end
|
548
709
|
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
INT32BE_4 = "\x00\x00\x00\x04"
|
553
|
-
INT32BE_5 = "\x00\x00\x00\x05"
|
554
|
-
INT32BE_6 = "\x00\x00\x00\x06"
|
555
|
-
INT32BE_7 = "\x00\x00\x00\x07"
|
556
|
-
INT32BE_8 = "\x00\x00\x00\x08"
|
557
|
-
def append_int32besize_int8!(str, int)
|
558
|
-
str << INT32BE_1 << (int & 255)
|
710
|
+
def append_int24_int16_le!(data, int1, *ints)
|
711
|
+
append_int24_le!(data, int1)
|
712
|
+
append_int16_le!(data, *ints)
|
559
713
|
end
|
560
714
|
|
561
|
-
def
|
562
|
-
|
715
|
+
def append_int24_int32_le!(data, int1, *ints)
|
716
|
+
append_int24_le!(data, int1)
|
717
|
+
append_int32_le!(data, *ints)
|
718
|
+
end
|
719
|
+
|
720
|
+
def append_int32_ber_le!(data, int1, *ints)
|
721
|
+
append_int32_le!(data, int1)
|
722
|
+
append_ber!(data, *ints)
|
563
723
|
end
|
564
724
|
|
565
|
-
def
|
566
|
-
|
567
|
-
|
725
|
+
def append_int32_int8_le!(data, int1, *ints)
|
726
|
+
append_int32_le!(data, int1)
|
727
|
+
append_int8!(data, *ints)
|
568
728
|
end
|
569
729
|
|
570
|
-
def
|
571
|
-
|
572
|
-
|
573
|
-
((int>>16) & 255) << ((int>>24) & 255)
|
730
|
+
def append_int32_int16_le!(data, int1, *ints)
|
731
|
+
append_int32_le!(data, int1)
|
732
|
+
append_int16_le!(data, *ints)
|
574
733
|
end
|
575
734
|
|
576
|
-
def
|
577
|
-
|
578
|
-
|
579
|
-
((int>>16) & 255) << ((int>>24) & 255) <<
|
580
|
-
((int>>32) & 255)
|
735
|
+
def append_int32_int24_le!(data, int1, *ints)
|
736
|
+
append_int32_le!(data, int1)
|
737
|
+
append_int24_le!(data, *ints)
|
581
738
|
end
|
582
739
|
|
583
|
-
def
|
584
|
-
|
740
|
+
def append_int8_int16_be!(data, int1, *ints)
|
741
|
+
data << (int1 & 255)
|
742
|
+
append_int16_be!(data, *ints)
|
585
743
|
end
|
586
744
|
|
587
|
-
def
|
588
|
-
|
745
|
+
def append_int8_int24_be!(data, int1, *ints)
|
746
|
+
data << (int1 & 255)
|
747
|
+
append_int24_be!(data, *ints)
|
589
748
|
end
|
590
749
|
|
591
|
-
def
|
592
|
-
|
750
|
+
def append_int8_int32_be!(data, int1, *ints)
|
751
|
+
data << (int1 & 255)
|
752
|
+
append_int32_be!(data, *ints)
|
753
|
+
end
|
754
|
+
|
755
|
+
def append_int16_ber_be!(data, int1, *ints)
|
756
|
+
append_int16_be!(data, int1)
|
757
|
+
append_ber!(data, *ints)
|
593
758
|
end
|
594
759
|
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
alias append_int32besize_sint40_le! append_int32besize_int40_le!
|
600
|
-
alias append_int32besize_sint48_le! append_int32besize_int48_le!
|
601
|
-
alias append_int32besize_sint56_le! append_int32besize_int56_le!
|
602
|
-
alias append_int32besize_sint64_le! append_int32besize_int64_le!
|
760
|
+
def append_int16_int8_be!(data, int1, *ints)
|
761
|
+
append_int16_be!(data, int1)
|
762
|
+
append_int8!(data, *ints)
|
763
|
+
end
|
603
764
|
|
604
|
-
def
|
605
|
-
|
765
|
+
def append_int16_int24_be!(data, int1, *ints)
|
766
|
+
append_int16_be!(data, int1)
|
767
|
+
append_int24_be!(data, *ints)
|
606
768
|
end
|
607
769
|
|
608
|
-
def
|
609
|
-
|
770
|
+
def append_int16_int32_be!(data, int1, *ints)
|
771
|
+
append_int16_be!(data, int1)
|
772
|
+
append_int32_be!(data, *ints)
|
773
|
+
end
|
774
|
+
|
775
|
+
def append_int24_ber_be!(data, int1, *ints)
|
776
|
+
append_int24_be!(data, int1)
|
777
|
+
append_ber!(data, *ints)
|
610
778
|
end
|
611
779
|
|
612
|
-
def
|
613
|
-
|
614
|
-
|
615
|
-
((int>>8) & 255) << (int & 255)
|
780
|
+
def append_int24_int8_be!(data, int1, *ints)
|
781
|
+
append_int24_be!(data, int1)
|
782
|
+
append_int8!(data, *ints)
|
616
783
|
end
|
617
784
|
|
618
|
-
def
|
619
|
-
|
620
|
-
|
621
|
-
((int>>16) & 255) << ((int>>8) & 255) <<
|
622
|
-
(int & 255)
|
785
|
+
def append_int24_int16_be!(data, int1, *ints)
|
786
|
+
append_int24_be!(data, int1)
|
787
|
+
append_int16_be!(data, *ints)
|
623
788
|
end
|
624
789
|
|
625
|
-
def
|
626
|
-
|
790
|
+
def append_int24_int32_be!(data, int1, *ints)
|
791
|
+
append_int24_be!(data, int1)
|
792
|
+
append_int32_be!(data, *ints)
|
793
|
+
end
|
794
|
+
|
795
|
+
def append_int32_ber_be!(data, int1, *ints)
|
796
|
+
append_int32_be!(data, int1)
|
797
|
+
append_ber!(data, *ints)
|
627
798
|
end
|
628
799
|
|
629
|
-
def
|
630
|
-
|
800
|
+
def append_int32_int8_be!(data, int1, *ints)
|
801
|
+
append_int32_be!(data, int1)
|
802
|
+
append_int8!(data, *ints)
|
631
803
|
end
|
632
804
|
|
633
|
-
def
|
634
|
-
|
805
|
+
def append_int32_int16_be!(data, int1, *ints)
|
806
|
+
append_int32_be!(data, int1)
|
807
|
+
append_int16_be!(data, *ints)
|
635
808
|
end
|
636
809
|
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
alias append_int32besize_sint48_be! append_int32besize_int48_be!
|
642
|
-
alias append_int32besize_sint56_be! append_int32besize_int56_be!
|
643
|
-
alias append_int32besize_sint64_be! append_int32besize_int64_be!
|
810
|
+
def append_int32_int24_be!(data, int1, *ints)
|
811
|
+
append_int32_be!(data, int1)
|
812
|
+
append_int24_be!(data, *ints)
|
813
|
+
end
|
644
814
|
|
645
|
-
|
646
|
-
|
647
|
-
data
|
815
|
+
def append_ber_int8!(data, int1, *ints)
|
816
|
+
append_ber!(data, int1)
|
817
|
+
append_int8!(data, *ints)
|
648
818
|
end
|
649
819
|
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
def append_bersize_string!(data, str)
|
654
|
-
data << [str.bytesize, str].pack(BER_STRING)
|
820
|
+
def append_ber_int16_le!(data, int1, *ints)
|
821
|
+
append_ber!(data, int1)
|
822
|
+
append_int16_le!(data, *ints)
|
655
823
|
end
|
656
824
|
|
657
|
-
def
|
658
|
-
data
|
825
|
+
def append_ber_int24_le!(data, int1, *ints)
|
826
|
+
append_ber!(data, int1)
|
827
|
+
append_int24_le!(data, *ints)
|
659
828
|
end
|
660
829
|
|
661
|
-
def
|
662
|
-
data
|
830
|
+
def append_ber_int32_le!(data, int1, *ints)
|
831
|
+
append_ber!(data, int1)
|
832
|
+
append_int32_le!(data, *ints)
|
663
833
|
end
|
664
834
|
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
def append_ber!(data, int)
|
669
|
-
data << [int].pack(BER)
|
835
|
+
def append_ber_int8!(data, int1, *ints)
|
836
|
+
append_ber!(data, int1)
|
837
|
+
append_int8!(data, *ints)
|
670
838
|
end
|
671
839
|
|
672
|
-
def
|
673
|
-
data
|
840
|
+
def append_ber_int16_be!(data, int1, *ints)
|
841
|
+
append_ber!(data, int1)
|
842
|
+
append_int16_be!(data, *ints)
|
674
843
|
end
|
675
844
|
|
676
|
-
def
|
677
|
-
data
|
845
|
+
def append_ber_int24_be!(data, int1, *ints)
|
846
|
+
append_ber!(data, int1)
|
847
|
+
append_int24_be!(data, *ints)
|
678
848
|
end
|
679
849
|
|
680
|
-
def
|
681
|
-
data
|
850
|
+
def append_ber_int32_be!(data, int1, *ints)
|
851
|
+
append_ber!(data, int1)
|
852
|
+
append_int32_be!(data, *ints)
|
682
853
|
end
|
683
854
|
end
|
684
855
|
end
|