mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-06-04 20:02:51 +08:00

The sources can be obtained via: http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-544.tar.gz
85 lines
3.2 KiB
C
85 lines
3.2 KiB
C
/* -*- Mode: C; tab-width: 4 -*-
|
|
*
|
|
* Copyright (c) 2007-2012 Apple 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.
|
|
*/
|
|
|
|
#ifndef H_HELPER_H
|
|
#define H_HELPER_H
|
|
|
|
#define kmDNSHelperServiceName "com.apple.mDNSResponderHelper"
|
|
|
|
enum mDNSPreferencesSetNameKey
|
|
{
|
|
kmDNSComputerName = 1,
|
|
kmDNSLocalHostName
|
|
};
|
|
|
|
enum mDNSUpDown
|
|
{
|
|
kmDNSUp = 1,
|
|
kmDNSDown
|
|
};
|
|
|
|
enum mDNSAutoTunnelSetKeysReplaceDelete
|
|
{
|
|
kmDNSAutoTunnelSetKeysReplace = 1,
|
|
kmDNSAutoTunnelSetKeysDelete
|
|
};
|
|
|
|
// helper parses the system keychain and returns the information to mDNSResponder.
|
|
// It returns four attributes. Attributes are defined after how they show up in
|
|
// keychain access utility (the actual attribute name to retrieve these are different).
|
|
enum mDNSKeyChainAttributes
|
|
{
|
|
kmDNSKcWhere, // Where
|
|
kmDNSKcAccount, // Account
|
|
kmDNSKcKey, // Key
|
|
kmDNSKcName // Name
|
|
};
|
|
|
|
#define ERROR(x, y) x,
|
|
enum mDNSHelperErrors
|
|
{
|
|
mDNSHelperErrorBase = 2300,
|
|
#include "helper-error.h"
|
|
mDNSHelperErrorEnd
|
|
};
|
|
#undef ERROR
|
|
|
|
#include "mDNSEmbeddedAPI.h"
|
|
#include "helpermsg-types.h"
|
|
|
|
extern const char *mDNSHelperError(int errornum);
|
|
|
|
extern mStatus mDNSHelperInit(void);
|
|
extern void mDNSRequestBPF(void);
|
|
extern int mDNSPowerRequest(int key, int interval);
|
|
extern int mDNSSetLocalAddressCacheEntry(int ifindex, int family, const v6addr_t ip, const ethaddr_t eth);
|
|
extern void mDNSNotify(const char *title, const char *msg); // Both strings are UTF-8 text
|
|
extern void mDNSPreferencesSetName(int key, domainlabel *old, domainlabel *new);
|
|
extern int mDNSKeychainGetSecrets(CFArrayRef *secrets);
|
|
extern void mDNSConfigureServer(int updown, const char *const prefix, const domainname *const fqdn);
|
|
extern int mDNSAutoTunnelSetKeys(int replacedelete, v6addr_t local_inner,
|
|
v6addr_t local_outer, short local_port, v6addr_t remote_inner,
|
|
v6addr_t remote_outer, short remote_port, const char *const prefix, const domainname *const fqdn);
|
|
extern void mDNSSendWakeupPacket(unsigned ifid, char *eth_addr, char *ip_addr, int iteration);
|
|
extern void mDNSPacketFilterControl(uint32_t command, char * ifname, uint32_t count, pfArray_t portArray, pfArray_t protocolArray);
|
|
extern void mDNSSendKeepalive(v6addr_t sadd, v6addr_t dadd, uint16_t lport, uint16_t rport, unsigned seq, unsigned ack, uint16_t win);
|
|
extern int mDNSRetrieveTCPInfo(int family, v6addr_t laddr, uint16_t lport, v6addr_t raddr, uint16_t rport, uint32_t *seq, uint32_t *ack, uint16_t *win, int32_t *intfid);
|
|
extern void mDNSGetRemoteMAC(mDNS *const m, int family, v6addr_t raddr);
|
|
extern void mDNSStoreSPSMACAddress(int family, v6addr_t spsaddr, char *ifname);
|
|
|
|
#endif /* H_HELPER_H */
|