linklayercontrol/networkinterfacemgr/netcfgext/inc/rconfigdaemonmess.h
changeset 0 af10295192d8
equal deleted inserted replaced
-1:000000000000 0:af10295192d8
       
     1 /**
       
     2 * Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 * Client side header listing generic message set supported by NIFMAN.
       
    16 * Each particular daemon lists its command & controls in a separate .h file
       
    17 * 
       
    18 *
       
    19 */
       
    20 
       
    21 
       
    22 
       
    23 /**
       
    24  @file RConfigDaemonMess.h
       
    25  @publishedPartner
       
    26  @released
       
    27 */
       
    28 
       
    29 #ifndef __RCONFIGDAEMON_MESS_H__
       
    30 #define __RCONFIGDAEMON_MESS_H__
       
    31 
       
    32 /**
       
    33  EConfigDaemon daemon functions
       
    34  @publishedPartner
       
    35  @released
       
    36  @version 0.03
       
    37  @date	26/05/2004
       
    38 */
       
    39 enum EConfigDaemonMess
       
    40 {
       
    41    /** Request to the daemon to configure the interface, e.g., to 
       
    42        get an IP address for the interface and to set its IP address. 
       
    43        Sent to daemon when link layer goes up. */
       
    44    EConfigDaemonConfigure,
       
    45    /** Generic Ioctl request to daemon. */
       
    46    EConfigDaemonIoctl,
       
    47    /** Cancels any outstanding request. */
       
    48    EConfigDaemonCancel,
       
    49    /** Request to deregister. Sent to the daemon when the 
       
    50        link layer is about to be torn down. E.g., allows 
       
    51        for Mobile IP deregistration. */
       
    52    EConfigDaemonDeregister,
       
    53    /** Request for a progress notification. In general, there is always
       
    54        an oustanding request for a progress notification on the 
       
    55        configuration daemon. */
       
    56    EConfigDaemonProgress,
       
    57    /** Cancels the request specified in the provided mask parameter. */
       
    58    EConfigDaemonCancelMask,
       
    59    /** Notifies the daemon that the link layer renegotiation has started. */
       
    60    EConfigDaemonLinkLayerDown,
       
    61    /** Notifies the daemon that the link layer renegotiation has completed. */
       
    62    EConfigDaemonLinkLayerUp,
       
    63    /** Control command */
       
    64    EConfigDaemonControl
       
    65 };
       
    66 
       
    67 /**
       
    68  Cause codes passed to RConfigDaemon::Deregister
       
    69  @publishedPartner
       
    70  @released
       
    71  @version 0.02
       
    72 */
       
    73 enum EConfigDaemonDeregisterCause
       
    74 {
       
    75    	/** @deprecated 
       
    76    	Nifman no longer sends this value.
       
    77    	An identity of the timer is sent istead: 
       
    78    	LastSessionClosed, LastSocketClosed, LastSocketActivity  */
       
    79 	EConfigDaemonDeregisterCauseTimer, 
       
    80    	/** the deregistration was caused by RConnection::Stop. */
       
    81    	EConfigDaemonDeregisterCauseStop,
       
    82 
       
    83 	/** The deregistration was caused by expiry of the LastSessionClosed idle timer in Nifman:
       
    84 	The timeout was initiated by absence of ESock RConnection objects and Protocol SAPs */
       
    85 	EConfigDaemonDeregisterCauseTimerLastSessionClosed, 
       
    86    	
       
    87    	/** The deregistration was caused by expiry of the LastSocketClosed idle timer in Nifman:
       
    88 	The timeout was initiated by absence of Protocol SAPs */
       
    89 	EConfigDaemonDeregisterCauseTimerLastSocketClosed, 
       
    90    	
       
    91    	/** The deregistration was caused by expiry of the LastSocketActivity idle timer in Nifman:
       
    92 	The timeout was initiated by the absence of activity on Protocol SAPs */
       
    93 	EConfigDaemonDeregisterCauseTimerLastSocketActivity,
       
    94 	
       
    95 	/** Identity of the expired idle timer not known.
       
    96 	This value indicates an internal logic error in Nifman */
       
    97 	EConfigDaemonDeregisterCauseTimerUnknown,
       
    98 	
       
    99 	/** The identity of the expired idle timer is other than any of the above identities.
       
   100 	This value indicates an internal logic error in Nifman */	
       
   101 	EConfigDaemonDeregisterCauseTimerMax		
       
   102 };
       
   103 
       
   104 /**
       
   105  Action codes returned by RConfigDaemon::Deregister
       
   106  @publishedPartner
       
   107  @released
       
   108  @version 0.01
       
   109 */
       
   110 enum EConfigDaemonDeregisterAction
       
   111 {
       
   112    	/** On successful deregistration stop the interface. */
       
   113 	EConfigDaemonDeregisterActionStop,
       
   114    	/** On successful deregistration preserve the interface state. */
       
   115    	EConfigDaemonDeregisterActionPreserve
       
   116 };
       
   117 
       
   118 class TDaemonProgress
       
   119 /**
       
   120  Encapsulates the daemon progress notification information.
       
   121  @publishedPartner
       
   122  @released
       
   123  @version 0.01
       
   124 */
       
   125 	{
       
   126 public:
       
   127 	/** The stage. */
       
   128 	TUint iStage;
       
   129 	/** The error code associated with the progress notification. */
       
   130 	TInt iError;
       
   131 	};
       
   132 
       
   133 /** The package type for the progress notification parameter. */
       
   134 typedef TPckgBuf<TDaemonProgress> TDaemonProgressBuf;
       
   135 
       
   136 /**
       
   137  Asynchronous operation masks used by EConfigDaemonCancelMask.
       
   138  @publishedPartner
       
   139  @released
       
   140  @version 0.01
       
   141 */
       
   142 /** Mask to cancel EConfigDaemonConfigure, EConfigDaemonIoctl and EConfigDaemonDeregister. */
       
   143 const TUint KConfigDaemonOpMaskGeneral	= 0x01; 
       
   144 /** Mask to cancel EConfigDaemonProgress. */
       
   145 const TUint KConfigDaemonOpMaskProgress	= 0x02;
       
   146 
       
   147 
       
   148 #endif
       
   149