D bindings for Bonjour

Vincent R via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Oct 28 10:07:30 PDT 2015


On Wednesday, 28 October 2015 at 16:53:15 UTC, Daniel Kozák wrote:
> V Wed, 28 Oct 2015 16:36:32 +0000
> Vincent R via Digitalmars-d-learn 
> <digitalmars-d-learn at puremagic.com>
> napsáno:
>
>> On Wednesday, 28 October 2015 at 16:12:08 UTC, Vincent R wrote:
>> > On Wednesday, 28 October 2015 at 16:09:02 UTC, Cauterite 
>> > wrote:
>> >> On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R 
>> >> wrote:
>> >>> [...]
>> >>
>> >> enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | 
>> >> kDNSServiceFlagsValidateOptional | 
>> >> kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | 
>> >> kDNSServiceFlagsDefault);
>> >>
>> >> Good luck :)
>> >
>> > I wanted to delete my post when I realize the stupidity of my
>> > question. Actually I ask my question before really looking at
>> > it.
>> > Sorry
>> 
>> Is there any central place where you store bindings ?
>
> code.dlang.org -- general place for every d project

Ok thanks.
Sorry to ask so much question but how do you declare different 
calling conventions like the following macro:


#if defined(_WIN32)
#define DNSSD_API __stdcall
#else
#define DNSSD_API
#endif


 From what I understand I could write:

version (Windows)
{
	extern (Windows)
	{
		int DNSServiceGetProperty
		(
		 in char *property,
		 void       *result,
		 uint       *size
		 );
	}
}
else
{
	extern (C)
	{
		int DNSServiceGetProperty
			(
			 in char *property,
			 void       *result,
			 uint       *size
				 );
	}
}

but I don't want to write it once.
How can I solve this ?
And if there is an easy fix what about writing it inside the wiki 
page:
http://wiki.dlang.org/D_binding_for_C

Thanks




More information about the Digitalmars-d-learn mailing list