summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h
diff options
context:
space:
mode:
Diffstat (limited to 'mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h')
-rw-r--r--mDNSResponder/mDNSVxWorks/mDNSVxWorksIPv4Only.h129
1 files changed, 129 insertions, 0 deletions
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__