From 9449f151d0ccf3ac755d5f2bd9b4057ae2b03157 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 30 Jan 2014 13:52:13 +0100 Subject: mDNS: Import The sources can be obtained via: http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-544.tar.gz --- mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h | 129 ++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h (limited to 'mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h') diff --git a/mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h b/mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h new file mode 100644 index 00000000..ecde894a --- /dev/null +++ b/mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h @@ -0,0 +1,129 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2002-2003 Apple Computer, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + Contains: mDNS platform plugin for VxWorks. + + Copyright: Copyright (C) 2002-2003 Apple Computer, Inc., All Rights Reserved. + + */ + +#ifndef __MDNS_VXWORKS__ +#define __MDNS_VXWORKS__ + +#include "vxWorks.h" +#include "semLib.h" + +#include "mDNSEmbeddedAPI.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Forward Declarations + +typedef struct MDNSInterfaceItem MDNSInterfaceItem; + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @struct mDNS_PlatformSupport_struct + + @abstract Structure containing platform-specific data. + */ + +struct mDNS_PlatformSupport_struct +{ + SEM_ID lockID; + SEM_ID readyEvent; + mStatus taskInitErr; + SEM_ID quitEvent; + MDNSInterfaceItem * interfaceList; + int commandPipe; + int task; + mDNSBool quit; + long configID; + int rescheduled; +}; + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @function mDNSReconfigure + + @abstract Tell mDNS that the configuration has changed. Call when IP address changes, link goes up after being down, etc. + + @discussion + + VxWorks does not provide a generic mechanism for getting notified when network interfaces change so this routines + provides a way for BSP-specific code to signal mDNS that something has changed and it should re-build its interfaces. + */ + +void mDNSReconfigure( void ); + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @struct ifaddrs + + @abstract Interface information + */ + +struct ifaddrs +{ + struct ifaddrs * ifa_next; + char * ifa_name; + u_int ifa_flags; + struct sockaddr * ifa_addr; + struct sockaddr * ifa_netmask; + struct sockaddr * ifa_dstaddr; + void * ifa_data; +}; + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @function getifaddrs + + @abstract Builds a linked list of interfaces. Caller must free using freeifaddrs if successful. + */ + +int getifaddrs( struct ifaddrs **outAddrs ); + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @function freeifaddrs + + @abstract Frees a linked list of interfaces built with getifaddrs. + */ + +void freeifaddrs( struct ifaddrs *inAddrs ); + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @function sock_pton + + @abstract Converts a 'p'resentation address string into a 'n'umeric sockaddr structure. + + @result 0 if successful or an error code on failure. + */ + +int sock_pton( const char *inString, int inFamily, void *outAddr, size_t inAddrSize, size_t *outAddrSize ); + +//--------------------------------------------------------------------------------------------------------------------------- +/*! @function sock_ntop + + @abstract Converts a 'n'umeric sockaddr structure into a 'p'resentation address string. + + @result Ptr to 'p'resentation address string buffer if successful or NULL on failure. + */ + +char * sock_ntop( const void *inAddr, size_t inAddrSize, char *inBuffer, size_t inBufferSize ); + +#ifdef __cplusplus +} +#endif + +#endif // __MDNS_VXWORKS__ -- cgit v1.2.3