Am 18.12.2010 19:28, schrieb Gregory Seidman: > On Sat, Dec 18, 2010 at 10:57:29AM +0100, Andreas wrote: > [...] >> >> // proto.h >> >> WIRESHARKAPI proto_tree* proto_tree_create_root(void); >> >> WIRESHARKAPI proto_item * >> proto_tree_add_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb, >> const gint start, gint length, const guint encoding); > > Looks good to me. Maybe WSPUBLIC or WSEXPORT would be a clearer name, but > that's a detail to be worked out.
Well, the WINAPI definition is used in the Windows API (defined by Microsoft). FSDAPI declares functions exported by the FSD (file system driver) API. The EXPORT is used in a different way: When you compile the FOO DLL, usually the FOO_EXPORTS is set. This is used to control if you get __declspec(import) or __declspec(exports). Therefore I would suggest not to use WSEXPORT to defined a symbol that is part of the API. > >> The has some advantages >> >> - one central place to define how the functions become part of the API >> in config.h >> >> - exactly one place of definition if a symbol is part of the API. >> Currently you define the symbol in header and DEF file. >> >> - It is visible immediately if a declaration in the header files is part >> if the API or not. > > Vital. I keep finding things in header files I want to use, then have to > check the .def file to discover whether it's exported. When we have an API definition in the header file, this will allow us to add the doxygen documentation of that API at the same point. -- Andy ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe