The test case  ext/sockets/tests/socket_recvmsg.php  has following output
on x86_64:

=======
...
1 Array
2 (
3    [name] => Array
4        (
5            [family] => 10
6            [addr] => ::1
7            [port] => 7001
8            [flowinfo] => 0
9            [scope_id] => 0
10        )
11
12    [control] => Array
13       (
14            [0] => Array
15               (
16                    [level] => 41
17                    [type] => 50
18                    [data] => Array
19                       (
20                            [addr] => ::1
21                            [ifindex] => 1
22                        )
23                )
24        )
...
=======
This is output  by c
function:"socket_recvmsg"(/home/work/php/php/ext/sockets/sendrecvmsg.c:214),
 which returns a struct "executor_globals.current_execute_data".

The struct  is defined as :

(gdb)  ptype executor_globals.current_execute_data
type = struct _zend_execute_data {
    const zend_op *opline;
    zend_execute_data *call;
    zval *return_value;
    zend_function *func;
    zval This;
    zend_execute_data *prev_execute_data;
    zend_array *symbol_table;
    void **run_time_cache;
    zval *literals;
} *

Where do  the above output values  (line 18-21) store in the struct
_zend_execute_data ?


Thanks,

Sam

Reply via email to