On Aug 13, 4:07 pm, Peter Otten <__pete...@web.de> wrote: > inhahe wrote: > > say i have this definition: > > > 1 typedef struct SDL_Surface { > > 2 Uint32 flags; /* Read-only */ > > 3 SDL_PixelFormat *format; /* Read-only */ > > 4 int w, h; /* Read-only */ > > 5 Uint16 pitch; /* Read-only */ > > 6 void *pixels; /* Read-write */ > > 7 SDL_Rect clip_rect; /* Read-only */ > > 8 int refcount; /* Read-mostly */ > > 9 > > 10 /* This structure also contains private fields not shown here > > */ > > 11 } SDL_Surface; > > > notice two pointers, format and pixels. > > say format has this definition. > > > 1 typedef struct { > > 2 SDL_Palette *palette; > > 3 Uint8 BitsPerPixel; > > 4 Uint8 BytesPerPixel; > > 5 Uint8 Rloss, Gloss, Bloss, Aloss; > > 6 Uint8 Rshift, Gshift, Bshift, Ashift; > > 7 Uint32 Rmask, Gmask, Bmask, Amask; > > 8 Uint32 colorkey; > > 9 Uint8 alpha; > > 10 } SDL_PixelFormat; > > > so say i want to create a mock sdl handle and pass it to some library > > function that requires an sdl handle. (would it even work? would i > > need to use an SDL_SWSURFACE?) > > > so i make the pixelformat data using struct.pack, and make the surface > > data using struct.pack, but how do i link the surface data to the > > pixelformat data? if i just use id() it'll give me the memory address > > of the "box" for the string and not the string data itself. thanks. > > I think you are looking at the wrong module; you need ctypes, not struct. > > http://docs.python.org/library/ctypes.html > > Peter
can you (or anybody) tell me how to link one c struct to another using ctypes? Thx -- http://mail.python.org/mailman/listinfo/python-list