/*
  List created from the output of:
    ( find . -name \*.h -exec grep -Hn 'typedef struct'} \; 1>&2 ) 2>&1 | \
       cut -d\  -f 4 | grep -v \{
*/

/* Strategy provided by p6-XML-LibXML:author<FROGGS> */
#ifdef _WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT extern
#endif

#include <glib.h>
#include <gio/gio.h>
#include <gio/gsettings.h>

#define s(name)     DLLEXPORT int sizeof_ ## name () { return sizeof(name); }

s(GActionGroupInterface)
s(GActionInterface)
s(GActionMapInterface)
s(GActionEntry)
s(GAppInfoIface)
s(GAppLaunchContext)
s(GAppLaunchContextClass)
s(GApplicationCommandLine)
s(GApplicationCommandLineClass)
s(GApplication)
s(GApplicationClass)
s(GAsyncInitableIface)
s(GAsyncResultIface)
s(GBufferedInputStream)
s(GBufferedInputStreamClass)
s(GBufferedOutputStream)
s(GBufferedOutputStreamClass)
s(GCancellable)
s(GCancellableClass)
s(GCharsetConverterClass)
s(GConverterIface)
s(GConverterInputStream)
s(GConverterInputStreamClass)
s(GConverterOutputStream)
s(GConverterOutputStreamClass)
s(GDatagramBasedInterface)
s(GDataInputStream)
s(GDataInputStreamClass)
s(GDataOutputStream)
s(GDataOutputStreamClass)
s(GDBusInterfaceVTable)
s(GDBusSubtreeVTable)
s(GDBusErrorEntry)
s(GDBusInterfaceIface)
s(GDBusInterfaceSkeleton)
s(GDBusInterfaceSkeletonClass)
s(GDBusAnnotationInfo)
s(GDBusArgInfo)
s(GDBusMethodInfo)
s(GDBusSignalInfo)
s(GDBusPropertyInfo)
s(GDBusInterfaceInfo)
s(GDBusNodeInfo)
s(GDBusObjectIface)
s(GDBusObjectManagerClient)
s(GDBusObjectManagerClientClass)
s(GDBusObjectManagerIface)
s(GDBusObjectManagerServer)
s(GDBusObjectManagerServerClass)
s(GDBusObjectProxy)
s(GDBusObjectProxyClass)
s(GDBusObjectSkeleton)
s(GDBusObjectSkeletonClass)
s(GDBusProxy)
s(GDBusProxyClass)
s(GDriveIface)
s(GDtlsClientConnectionInterface)
s(GDtlsConnectionInterface)
s(GDtlsServerConnectionInterface)
s(GEmblemedIcon)
s(GEmblemedIconClass)
s(GFileAttributeInfo)
s(GFileAttributeInfoList)
s(GFileEnumerator)
s(GFileEnumeratorClass)
s(GFileIface)
s(GFileInputStream)
s(GFileInputStreamClass)
s(GFileIOStream)
s(GFileIOStreamClass)
s(GFileMonitor)
s(GFileMonitorClass)
s(GFilenameCompleterClass)
s(GFileOutputStream)
s(GFileOutputStreamClass)
s(GFilterInputStream)
s(GFilterInputStreamClass)
s(GFilterOutputStream)
s(GFilterOutputStreamClass)
s(GIconIface)
s(GInetAddress)
s(GInetAddressClass)
s(GInetAddressMask)
s(GInetAddressMaskClass)
s(GInetSocketAddress)
s(GInetSocketAddressClass)
s(GInitableIface)
s(GInputStream)
s(GInputStreamClass)
s(GIOStream)
s(GIOStreamClass)
s(GInputVector)
s(GInputMessage)
s(GOutputVector)
s(GOutputMessage)
s(GListModelInterface)
s(GLoadableIconIface)
s(GMemoryInputStream)
s(GMemoryInputStreamClass)
s(GMemoryMonitorInterface)
s(GMemoryOutputStream)
s(GMemoryOutputStreamClass)
s(GMenuModel)
s(GMenuModelClass)
s(GMenuAttributeIter)
s(GMenuAttributeIterClass)
s(GMenuLinkIter)
s(GMenuLinkIterClass)
s(GMountIface)
s(GMountOperation)
s(GMountOperationClass)
s(GNativeSocketAddress)
s(GNativeSocketAddressClass)
s(GNativeVolumeMonitor)
s(GNativeVolumeMonitorClass)
s(GNetworkAddress)
s(GNetworkAddressClass)
s(GNetworkMonitorInterface)
s(GNetworkService)
s(GNetworkServiceClass)
s(GOutputStream)
s(GOutputStreamClass)
s(GPermission)
s(GPermissionClass)
s(GPollableInputStreamInterface)
s(GPollableOutputStreamInterface)
s(GProxyAddressEnumerator)
s(GProxyAddressEnumeratorClass)
s(GProxyAddress)
s(GProxyAddressClass)
s(GProxyInterface)
s(GProxyResolverInterface)
s(GRemoteActionGroupInterface)
s(GResolver)
s(GResolverClass)
s(GStaticResource)
s(GSeekableIface)

// cw: Not opaque, but just won't compile in for some reason!
//s(GSettingsBackendClass)
//s(GSettingsBackend)

s(GSettingsClass)
s(GSettings)
s(GSimpleActionGroup)
s(GSimpleActionGroupClass)
s(GSimpleProxyResolver)
s(GSimpleProxyResolverClass)
s(GSocketAddressEnumerator)
s(GSocketAddressEnumeratorClass)
s(GSocketAddress)
s(GSocketAddressClass)
s(GSocketClientClass)
s(GSocketClient)
s(GSocketConnectableIface)
s(GSocketConnectionClass)
s(GSocketConnection)
s(GSocketControlMessageClass)
s(GSocketControlMessage)
s(GSocketClass)
s(GSocket)
s(GSocketListenerClass)
s(GSocketListener)
s(GSocketServiceClass)
s(GSocketService)
s(GTcpConnectionClass)
s(GTcpConnection)
s(GTcpWrapperConnectionClass)
s(GTcpWrapperConnection)
s(GThreadedSocketServiceClass)
s(GThreadedSocketService)
s(GTlsBackendInterface)
s(GTlsCertificate)
s(GTlsCertificateClass)
s(GTlsClientConnectionInterface)
s(GTlsConnection)
s(GTlsConnectionClass)
s(GTlsDatabase)
s(GTlsDatabaseClass)
s(GTlsFileDatabaseInterface)
s(GTlsInteraction)
s(GTlsInteractionClass)
s(GTlsPassword)
s(GTlsPasswordClass)
s(GTlsServerConnectionInterface)
s(GVfs)
s(GVfsClass)
s(GVolumeIface)
s(GVolumeMonitor)
s(GVolumeMonitorClass)
s(GZlibCompressorClass)
s(GZlibDecompressorClass)
