xref: /aoo42x/main/sal/osl/unx/sockimpl.h (revision 9eab2a37)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _OSL_SOCKETIMPL_H_
25 #define _OSL_SOCKETIMPL_H_
26 
27 #include <osl/pipe.h>
28 #include <osl/socket.h>
29 #include <osl/interlck.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 typedef void* (*oslCloseCallback) (void*);
36 
37 struct oslSocketImpl {
38     int					m_Socket;
39     int                 m_nLastError;
40 	oslCloseCallback	m_CloseCallback;
41 	void*				m_CallbackArg;
42 	oslInterlockedCount m_nRefCount;
43 #if defined(LINUX)
44     sal_Bool            m_bIsAccepting;
45     sal_Bool            m_bIsInShutdown;
46 #endif
47 };
48 
49 struct oslSocketAddrImpl
50 {
51 	sal_Int32 m_nRefCount;
52 	struct sockaddr m_sockaddr;
53 };
54 
55 struct oslPipeImpl {
56 	int	 m_Socket;
57 	sal_Char m_Name[PATH_MAX + 1];
58 	oslInterlockedCount m_nRefCount;
59 	sal_Bool m_bClosed;
60 #if defined(LINUX)
61     sal_Bool m_bIsAccepting;
62     sal_Bool m_bIsInShutdown;
63 #endif
64 };
65 
66 oslSocket __osl_createSocketImpl(int Socket);
67 void __osl_destroySocketImpl(oslSocket pImpl);
68 
69 #ifdef __cplusplus
70 }
71 #endif
72 
73 #endif
74 
75