Bump for 3.6-28
[LibreOffice.git] / sal / osl / w32 / sockimpl.h
blob48aec0654452bef5cb491ae085b4d9eb9d9f3415
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef _OSL_SOCKETIMPL_H_
30 #define _OSL_SOCKETIMPL_H_
32 #include <osl/socket.h>
33 #include <osl/interlck.h>
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
39 /*****************************************************************************/
40 /* oslSocketImpl */
41 /*****************************************************************************/
42 #define OSL_SOCKET_FLAGS_NONBLOCKING 0x0001
44 typedef void* (SAL_CALL * oslCloseCallback) (void*);
46 struct oslSocketImpl {
47 oslInterlockedCount m_nRefCount;
48 SOCKET m_Socket;
49 int m_Flags;
50 oslCloseCallback m_CloseCallback;
51 void* m_CallbackArg;
54 struct oslSocketAddrImpl
56 struct sockaddr m_sockaddr;
57 oslInterlockedCount m_nRefCount;
60 oslSocket __osl_createSocketImpl(SOCKET Socket);
61 void __osl_destroySocketImpl(oslSocket pImpl);
63 /*****************************************************************************/
64 /* oslSocketDialupImpl */
65 /*****************************************************************************/
66 #define INTERNET_MODULE_NAME "wininet.dll"
68 #define INTERNET_CONNECTION_MODEM 0x00000001L
69 #define INTERNET_CONNECTION_LAN 0x00000002L
70 #define INTERNET_CONNECTION_HANGUP 0x80000000L
72 typedef DWORD (WINAPI *INTERNETATTEMPTCONNECT) (
73 DWORD dwReserved);
74 typedef BOOL (WINAPI *INTERNETAUTODIAL) (
75 DWORD dwFlags, DWORD dwReserved);
76 typedef BOOL (WINAPI *INTERNETAUTODIALHANGUP) (
77 DWORD dwReserved);
78 typedef BOOL (WINAPI *INTERNETGETCONNECTEDSTATE) (
79 LPDWORD lpdwFlags, DWORD dwReserved);
81 typedef struct osl_socket_dialup_impl_st
83 CRITICAL_SECTION m_hMutex;
84 HINSTANCE m_hModule;
85 INTERNETATTEMPTCONNECT m_pfnAttemptConnect;
86 INTERNETAUTODIAL m_pfnAutodial;
87 INTERNETAUTODIALHANGUP m_pfnAutodialHangup;
88 INTERNETGETCONNECTEDSTATE m_pfnGetConnectedState;
89 DWORD m_dwFlags;
90 } oslSocketDialupImpl;
92 /*****************************************************************************/
93 /* The End */
94 /*****************************************************************************/
96 #ifdef __cplusplus
98 #endif
100 #endif
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */