%module odirectcmodule %{ #include "odirect.h" %} %typemap(python,in) (unsigned char *bytes, int len) { if (!PyString_Check($input)) { PyErr_SetString(PyExc_ValueError,"Expected a string"); return NULL; } $1 = PyString_AsString($input); $2 = PyString_Size($input); } int insert(unsigned char *bytes, int len); %typemap(out) binary_data { $result = PyString_FromStringAndSize($1.data,$1.size); } binary_data out();