SlideShare a Scribd company logo
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
Php Meets Messagepack
typedef union _zvalue_value {
    long lval;         /* long value */
    double dval;       /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;     /* hash table value */
    zend_object obj;
} zvalue_value;

struct _zval_struct {
    zvalue_value value; /* value */
    zend_uchar type;    /* active type */
    zend_uchar is_ref;
    zend_ushort refcount;
};
Php Meets Messagepack
PHP_FUNCTION(example2)
{
    char *str;
    int str_len;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                      "s", &str, &str_len) == FAILURE) {
        return;
    }
    printf("%sn", str);
}
#define RETURN_LONG(l) { RETVAL_LONG(l); return; }
#define RETVAL_LONG(l) ZVAL_LONG(return_value, l)
#define ZVAL_LONG(z, l) {               
          Z_TYPE_P(z) = IS_LONG;        
          Z_LVAL_P(z) = l;              
}
Php Meets Messagepack

More Related Content

PDF
Prof.js
DOCX
Convert bilangan
DOCX
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
KEY
珠三角技术沙龙新语言场 C++11
DOCX
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
PPTX
6. separation, namespace, error
TXT
Prof.js
Convert bilangan
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
珠三角技术沙龙新语言场 C++11
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
6. separation, namespace, error

More from Hideyuki TAKEI (11)

PDF
Beatroboでのハードウェアプロトタイピング
PDF
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
PDF
Golang, make and robotics #gocon
PDF
cocos2d-x で PlugAir を 使えるようにしてみた
PDF
Klabの梅雨対策
PDF
Android時代のミニ四駆
ZIP
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
PDF
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
PDF
Kansai.AR - ARを作って考える~これであなたも超高音~
PDF
ちょい絶Vol3「Webからこんばんは」
PDF
学びの場としての畳空間 〜畳、敷きませんか?〜
Beatroboでのハードウェアプロトタイピング
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Golang, make and robotics #gocon
cocos2d-x で PlugAir を 使えるようにしてみた
Klabの梅雨対策
Android時代のミニ四駆
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
Kansai.AR - ARを作って考える~これであなたも超高音~
ちょい絶Vol3「Webからこんばんは」
学びの場としての畳空間 〜畳、敷きませんか?〜
Ad

Php Meets Messagepack

  • 18. typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object obj; } zvalue_value; struct _zval_struct { zvalue_value value; /* value */ zend_uchar type; /* active type */ zend_uchar is_ref; zend_ushort refcount; };
  • 20. PHP_FUNCTION(example2) { char *str; int str_len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { return; } printf("%sn", str); }
  • 21. #define RETURN_LONG(l) { RETVAL_LONG(l); return; } #define RETVAL_LONG(l) ZVAL_LONG(return_value, l) #define ZVAL_LONG(z, l) {                         Z_TYPE_P(z) = IS_LONG;                   Z_LVAL_P(z) = l;               }