对于我正在创建的 python 模块,我想向 python 用户传递一个结构数组,如下所示:
struct tcpstat
{
inet_prefix local;
inet_prefix remote;
int lport;
int rport;
int state;
int rq, wq;
int timer;
int timeout;
int retrs;
unsigned ino;
int probes;
unsigned uid;
int refcnt;
unsigned long long sk;
int rto, ato, qack, cwnd, ssthresh;
};
我认为这Py_BuildValues
就是我正在寻找的功能。但好像不是。查看 Python 文档,我找到了Buffer Protocol。但这是我第一次开发 python 模块,官方文档对我帮助不大。
缓冲协议是解决我问题的最佳方案吗?如果是这样,我怎样才能将我的数组从 C 返回到 python?