|
Ruby
2.1.10p492(2016-04-01revision54464)
|
#include "ruby/ruby.h"#include "ruby/encoding.h"#include "internal.h"#include <sys/types.h>#include <ctype.h>#include <errno.h>Go to the source code of this file.
Macros | |
| #define | NATINT_LEN_Q 8 |
| #define | NATINT_PACK |
| #define | BIGENDIAN_P() 0 |
| #define | NATINT_LEN(type, len) (natint?(int)sizeof(type):(int)(len)) |
| #define | define_swapx(x, xtype) |
| #define | rb_ntohf(x) (BIGENDIAN_P()?(x):swapf(x)) |
| #define | rb_ntohd(x) (BIGENDIAN_P()?(x):swapd(x)) |
| #define | rb_htonf(x) (BIGENDIAN_P()?(x):swapf(x)) |
| #define | rb_htond(x) (BIGENDIAN_P()?(x):swapd(x)) |
| #define | rb_htovf(x) (BIGENDIAN_P()?swapf(x):(x)) |
| #define | rb_htovd(x) (BIGENDIAN_P()?swapd(x):(x)) |
| #define | rb_vtohf(x) (BIGENDIAN_P()?swapf(x):(x)) |
| #define | rb_vtohd(x) (BIGENDIAN_P()?swapd(x):(x)) |
| #define | FLOAT_CONVWITH(y) |
| #define | HTONF(x, y) rb_htonf(x) |
| #define | HTOVF(x, y) rb_htovf(x) |
| #define | NTOHF(x, y) rb_ntohf(x) |
| #define | VTOHF(x, y) rb_vtohf(x) |
| #define | DOUBLE_CONVWITH(y) |
| #define | HTOND(x, y) rb_htond(x) |
| #define | HTOVD(x, y) rb_htovd(x) |
| #define | NTOHD(x, y) rb_ntohd(x) |
| #define | VTOHD(x, y) rb_vtohd(x) |
| #define | MAX_INTEGER_PACK_SIZE 8 |
| #define | TOO_FEW (rb_raise(rb_eArgError, toofew), 0) |
| #define | THISFROM (items > 0 ? RARRAY_AREF(ary, idx) : TOO_FEW) |
| #define | NEXTFROM (items-- > 0 ? RARRAY_AREF(ary, idx++) : TOO_FEW) |
| #define | castchar(from) (char)((from) & 0xff) |
| #define | PACK_LENGTH_ADJUST_SIZE(sz) |
| #define | PACK_ITEM_ADJUST() |
| #define | UNPACK_PUSH(item) |
| #define | BYTEWIDTH 8 |
Functions | |
| define_swapx (s, short) | |
| static void | encodes (VALUE str, const char *s, long len, int type, int tail_lf) |
| static void | qpencode (VALUE str, VALUE from, long len) |
| static int | hex2num (char c) |
| static VALUE | infected_str_new (const char *ptr, long len, VALUE str) |
| static VALUE | pack_unpack (VALUE str, VALUE fmt) |
| int | rb_uv_to_utf8 (char buf[6], unsigned long uv) |
| static unsigned long | utf8_to_uv (const char *p, long *lenp) |
| void | Init_pack (void) |
Variables | |
| static const char | natstr [] = "sSiIlL" |
| static const char | endstr [] = "sSiIlLqQ" |
| static const char | uu_table [] |
| static const char | b64_table [] |
| static const char | hex_table [] = "0123456789ABCDEF" |
| static const unsigned long | utf8_limits [] |
| #define BIGENDIAN_P | ( | ) | 0 |
Definition at line 64 of file pack.c.
Referenced by pack_unpack().
| #define castchar | ( | from | ) | (char)((from) & 0xff) |
Referenced by pack_unpack(), and rb_uv_to_utf8().
| #define define_swapx | ( | x, | |
| xtype | |||
| ) |
| #define DOUBLE_CONVWITH | ( | y | ) |
Referenced by pack_unpack().
| #define FLOAT_CONVWITH | ( | y | ) |
Referenced by pack_unpack().
| #define HTOND | ( | x, | |
| y | |||
| ) | rb_htond(x) |
| #define HTONF | ( | x, | |
| y | |||
| ) | rb_htonf(x) |
| #define HTOVD | ( | x, | |
| y | |||
| ) | rb_htovd(x) |
| #define HTOVF | ( | x, | |
| y | |||
| ) | rb_htovf(x) |
| #define MAX_INTEGER_PACK_SIZE 8 |
Definition at line 68 of file pack.c.
Referenced by pack_unpack().
| #define NATINT_LEN_Q 8 |
Definition at line 38 of file pack.c.
Referenced by pack_unpack().
| #define NEXTFROM (items-- > 0 ? RARRAY_AREF(ary, idx++) : TOO_FEW) |
| #define NTOHD | ( | x, | |
| y | |||
| ) | rb_ntohd(x) |
Referenced by pack_unpack().
| #define NTOHF | ( | x, | |
| y | |||
| ) | rb_ntohf(x) |
Referenced by pack_unpack().
| #define PACK_ITEM_ADJUST | ( | ) |
Definition at line 1069 of file pack.c.
Referenced by pack_unpack().
| #define PACK_LENGTH_ADJUST_SIZE | ( | sz | ) |
Definition at line 1059 of file pack.c.
Referenced by pack_unpack().
| #define rb_htond | ( | x | ) | (BIGENDIAN_P()?(x):swapd(x)) |
| #define rb_htonf | ( | x | ) | (BIGENDIAN_P()?(x):swapf(x)) |
| #define rb_htovd | ( | x | ) | (BIGENDIAN_P()?swapd(x):(x)) |
| #define rb_htovf | ( | x | ) | (BIGENDIAN_P()?swapf(x):(x)) |
| #define rb_ntohd | ( | x | ) | (BIGENDIAN_P()?(x):swapd(x)) |
| #define rb_ntohf | ( | x | ) | (BIGENDIAN_P()?(x):swapf(x)) |
| #define rb_vtohd | ( | x | ) | (BIGENDIAN_P()?swapd(x):(x)) |
| #define rb_vtohf | ( | x | ) | (BIGENDIAN_P()?swapf(x):(x)) |
| #define THISFROM (items > 0 ? RARRAY_AREF(ary, idx) : TOO_FEW) |
| #define TOO_FEW (rb_raise(rb_eArgError, toofew), 0) |
| #define UNPACK_PUSH | ( | item | ) |
Referenced by pack_unpack().
| #define VTOHD | ( | x, | |
| y | |||
| ) | rb_vtohd(x) |
Referenced by pack_unpack().
| #define VTOHF | ( | x, | |
| y | |||
| ) | rb_vtohf(x) |
Referenced by pack_unpack().
|
inlinestatic |
Definition at line 1050 of file pack.c.
References ruby_digit36_to_number_table.
Referenced by pack_unpack().
Definition at line 1075 of file pack.c.
References OBJ_INFECT, and rb_str_new().
Referenced by pack_unpack().
| void Init_pack | ( | void | ) |
Definition at line 2007 of file pack.c.
References pack_unpack(), rb_cArray, rb_cString, and rb_define_method().
Definition at line 1198 of file pack.c.
References b64_table, BIGENDIAN_P, buf, castchar, DBL2NUM, DOUBLE_CONVWITH, ENC_CODERANGE_VALID, ENCODING_CODERANGE_SET, endstr, errno, FLOAT_CONVWITH, hex2num(), infected_str_new(), INTEGER_PACK_2COMP, INTEGER_PACK_BIG_ENDIAN, INTEGER_PACK_LITTLE_ENDIAN, ISDIGIT, ISSPACE, NATINT_LEN, NATINT_LEN_Q, natstr, NTOHD, NTOHF, PACK_ITEM_ADJUST, PACK_LENGTH_ADJUST_SIZE, Qnil, RARRAY_CONST_PTR, RARRAY_LEN, rb_ary_new(), rb_ascii8bit_encindex, rb_block_given_p(), rb_eArgError, rb_eRangeError, rb_integer_unpack(), rb_raise(), rb_str_associate(), rb_str_associated(), rb_str_buf_cat(), rb_str_set_len(), rb_tainted_str_new(), RB_TYPE_P, rb_usascii_str_new(), rb_warning(), RSTRING_LEN, RSTRING_PTR, strchr(), StringValue, STRTOUL, t(), T_STRING, type, ULONG2NUM, UNPACK_PUSH, utf8_to_uv(), val, VTOHD, and VTOHF.
Referenced by Init_pack().
Definition at line 997 of file pack.c.
References EOF, hex_table, rb_str_buf_cat(), RSTRING_LEN, and RSTRING_PTR.
| int rb_uv_to_utf8 | ( | char | buf[6], |
| unsigned long | uv | ||
| ) |
Definition at line 1900 of file pack.c.
References buf, castchar, rb_eRangeError, rb_raise(), and UNREACHABLE.
Referenced by append_utf8().
|
static |
Definition at line 1957 of file pack.c.
References rb_eArgError, rb_raise(), and utf8_limits.
Referenced by pack_unpack().
|
static |
Definition at line 943 of file pack.c.
Referenced by encodes(), and pack_unpack().
|
static |
Definition at line 32 of file pack.c.
Referenced by pack_unpack().
|
static |
Definition at line 994 of file pack.c.
Referenced by qpencode().
|
static |
Definition at line 30 of file pack.c.
Referenced by pack_unpack().
|
static |
Definition at line 1946 of file pack.c.
Referenced by utf8_to_uv().
1.8.14