I have a library in C that has an object IedConnection
that handles the connection to a remote equipment.
IedConnection con = IedConnection_create();
IedConnection_connect(con, &error, hostname, tcpPort);
IedConnection_destroy(con);
I understand how to pass and return ctype
objects like c_int
, but how would I declare the IedConnection con
object in python using ctypes
?
CodePudding user response:
IedConnection
is a pointer to a structure (typedef struct sIedConnection * IedConnection
). All pointers to structures should have the same representation, so you can just use a pointer to any structure, and need not define its contents, unless you want to dereference it or do pointer arithmetic. Hence this should work:
from ctypes import *
class SIedConnection(Structure):
pass
IedConnection = POINTER(SIedConnection)
now you can use IedConnection
as the return type and in the argument types as usual.