xref: /aosp_15_r20/external/mdnsresponder/mDNSWindows/PosixCompat.h (revision 48a54d368dc4fa860885eef7b70b6c53499e7c25)
1*48a54d36SAndroid Build Coastguard Worker /* -*- Mode: C; tab-width: 4 -*-
2*48a54d36SAndroid Build Coastguard Worker  *
3*48a54d36SAndroid Build Coastguard Worker  * Copyright (c) 1997-2004 Apple Computer, Inc. All rights reserved.
4*48a54d36SAndroid Build Coastguard Worker  *
5*48a54d36SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*48a54d36SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*48a54d36SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
8*48a54d36SAndroid Build Coastguard Worker  *
9*48a54d36SAndroid Build Coastguard Worker  *     http://www.apache.org/licenses/LICENSE-2.0
10*48a54d36SAndroid Build Coastguard Worker  *
11*48a54d36SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*48a54d36SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*48a54d36SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*48a54d36SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*48a54d36SAndroid Build Coastguard Worker  * limitations under the License.
16*48a54d36SAndroid Build Coastguard Worker  */
17*48a54d36SAndroid Build Coastguard Worker 
18*48a54d36SAndroid Build Coastguard Worker #pragma once
19*48a54d36SAndroid Build Coastguard Worker 
20*48a54d36SAndroid Build Coastguard Worker #include "CommonServices.h"
21*48a54d36SAndroid Build Coastguard Worker #include <winsock2.h>
22*48a54d36SAndroid Build Coastguard Worker #include <time.h>
23*48a54d36SAndroid Build Coastguard Worker 
24*48a54d36SAndroid Build Coastguard Worker 
25*48a54d36SAndroid Build Coastguard Worker /*
26*48a54d36SAndroid Build Coastguard Worker  * Posix process compatibility
27*48a54d36SAndroid Build Coastguard Worker  */
28*48a54d36SAndroid Build Coastguard Worker typedef int pid_t;
29*48a54d36SAndroid Build Coastguard Worker #if !defined( getpid )
30*48a54d36SAndroid Build Coastguard Worker #	define getpid _getpid
31*48a54d36SAndroid Build Coastguard Worker #endif
32*48a54d36SAndroid Build Coastguard Worker 
33*48a54d36SAndroid Build Coastguard Worker 
34*48a54d36SAndroid Build Coastguard Worker /*
35*48a54d36SAndroid Build Coastguard Worker  * Posix networking compatibility
36*48a54d36SAndroid Build Coastguard Worker  */
37*48a54d36SAndroid Build Coastguard Worker extern unsigned
38*48a54d36SAndroid Build Coastguard Worker if_nametoindex( const char * ifname );
39*48a54d36SAndroid Build Coastguard Worker 
40*48a54d36SAndroid Build Coastguard Worker 
41*48a54d36SAndroid Build Coastguard Worker extern char*
42*48a54d36SAndroid Build Coastguard Worker if_indextoname( unsigned ifindex, char * ifname );
43*48a54d36SAndroid Build Coastguard Worker 
44*48a54d36SAndroid Build Coastguard Worker 
45*48a54d36SAndroid Build Coastguard Worker extern int
46*48a54d36SAndroid Build Coastguard Worker inet_pton( int family, const char * addr, void * dst );
47*48a54d36SAndroid Build Coastguard Worker 
48*48a54d36SAndroid Build Coastguard Worker 
49*48a54d36SAndroid Build Coastguard Worker /*
50*48a54d36SAndroid Build Coastguard Worker  * Posix time compatibility
51*48a54d36SAndroid Build Coastguard Worker  */
52*48a54d36SAndroid Build Coastguard Worker extern int
53*48a54d36SAndroid Build Coastguard Worker gettimeofday( struct timeval * tv, struct timezone * tz );
54*48a54d36SAndroid Build Coastguard Worker 
55*48a54d36SAndroid Build Coastguard Worker 
56*48a54d36SAndroid Build Coastguard Worker extern struct tm*
57*48a54d36SAndroid Build Coastguard Worker localtime_r( const time_t * clock, struct tm * result );
58*48a54d36SAndroid Build Coastguard Worker 
59*48a54d36SAndroid Build Coastguard Worker 
60*48a54d36SAndroid Build Coastguard Worker /*
61*48a54d36SAndroid Build Coastguard Worker  * Posix string compatibility
62*48a54d36SAndroid Build Coastguard Worker  */
63*48a54d36SAndroid Build Coastguard Worker #if !defined( strcasecmp )
64*48a54d36SAndroid Build Coastguard Worker #	define strcasecmp	_stricmp
65*48a54d36SAndroid Build Coastguard Worker #endif
66*48a54d36SAndroid Build Coastguard Worker 
67*48a54d36SAndroid Build Coastguard Worker #if !defined( snprintf )
68*48a54d36SAndroid Build Coastguard Worker #	define snprint		_snprintf
69*48a54d36SAndroid Build Coastguard Worker #endif
70*48a54d36SAndroid Build Coastguard Worker 
71