|
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Network interface (nif) APIs. |
|
15 // This file contains all the Internal APIs required to implement a NIF for Symbian OS. |
|
16 // |
|
17 // |
|
18 |
|
19 /** |
|
20 @file nifif_internal.h |
|
21 @internalTechnology |
|
22 @released |
|
23 */ |
|
24 |
|
25 #if !defined(__NIFIF_INTERNAL_H__) |
|
26 #define __NIFIF_INTERNAL_H__ |
|
27 |
|
28 #define SYMBIAN_NETWORKING_UPS |
|
29 |
|
30 class CNifIfBase; |
|
31 class CProtocolBase; |
|
32 class MNifIfUser |
|
33 /** |
|
34 * Interface between nifman and a layer 3 protocol |
|
35 * This interface is used by nifman to perform operations on the layer 3 protocol |
|
36 * |
|
37 * @internalTechnology |
|
38 * @released |
|
39 * @since v5.0 |
|
40 */ |
|
41 { |
|
42 public: |
|
43 |
|
44 /** |
|
45 * |
|
46 */ |
|
47 virtual void IfUserBindFailure(TInt aResult, TAny* aId)=0; |
|
48 |
|
49 /** |
|
50 * |
|
51 */ |
|
52 virtual void IfUserNewInterfaceL(CNifIfBase* aIf, TAny* aId)=0; |
|
53 |
|
54 /** |
|
55 * |
|
56 */ |
|
57 virtual void IfUserInterfaceDown(TInt aResult, CNifIfBase* aIf)=0; |
|
58 |
|
59 /** |
|
60 * |
|
61 */ |
|
62 virtual void IfUserOpenNetworkLayer()=0; |
|
63 |
|
64 /** |
|
65 * |
|
66 */ |
|
67 virtual void IfUserCloseNetworkLayer()=0; |
|
68 |
|
69 /** |
|
70 * |
|
71 */ |
|
72 virtual CProtocolBase* IfUserProtocol()=0; |
|
73 |
|
74 /** |
|
75 * |
|
76 */ |
|
77 virtual TBool IfUserIsNetworkLayerActive()=0; |
|
78 }; |
|
79 |
|
80 /** |
|
81 * Option level for the nif - used with Get/SetOpt/Control/Ioctl methods |
|
82 * |
|
83 * @internalTechnology |
|
84 * @released |
|
85 * @since v5.0 |
|
86 */ |
|
87 const TUint KNifOptLevel = 0x191; |
|
88 |
|
89 /** |
|
90 * Options for controlling a nif through the RSocket::SetOption() and RSocket::GetOption() interface |
|
91 * @defgroup RSocketSetGetOptoptions Options for use with RSocket::SetOption() and RSocket::GetOption() |
|
92 * |
|
93 * @internalTechnology |
|
94 * @released |
|
95 * @since v5.0 |
|
96 */ |
|
97 //@{ |
|
98 const TUint KNifOptStartInterface = 1; //< Start the specified nif by CObject-name using Nif::Start |
|
99 const TUint KNifOptStopInterface = 2; //< Stop the specified nif by CObject-name using Nif::Stop |
|
100 const TUint KNifOptInterfaceProgress = 3; //< Fetch the current progress from the interface by CObject-name using Nif::ProgressL() |
|
101 //@} |
|
102 |
|
103 /** |
|
104 * @internalComponent |
|
105 */ |
|
106 typedef TPckgBuf<MNifIfUser*> TNifIfUser; |
|
107 |
|
108 #ifdef SYMBIAN_NETWORKING_UPS |
|
109 /** |
|
110 @internalTechnology |
|
111 |
|
112 Special NetworkId value to pass in TSoIfConnectionInfo to indicate that the NetworkId |
|
113 should be determined from the socket address. This should only be issued in special |
|
114 circumstances (see TCP/IP stack and ESock server for detailed comments). |
|
115 */ |
|
116 const TUint32 KNetworkIdFromAddress = -1; |
|
117 #endif |
|
118 |
|
119 #endif |
|
120 |