#880 Add missing networking definitions

WSL
closed
None
Bug
out-of-date
featured-pre-wsl
False
2013-02-19
2005-12-07
No

Hi,

Here is a patch against w32api-3.5-src to provide
various header files and link libraries required by
the eXtensible Open Router Project (XORP), which is
currently built for Windows using MinGW 5.0.0.

This isn't a full update, but it includes everything
believed necessary to build XORP and the IP routing
sample DLL included with the Microsoft Platform SDK.

Updates for Windows Server 2003 SP1 SDK:
-liphlpapi
-lkernel32
<iphlpapi.h>
<winbase.h>
<winnt.h>

New libraries and headers include:
-lrtm
-lrtutils
-lmprapi
<mgm.h>
<mprapi.h>
<mprerror.h>
<routprot.h>
<rtinfo.h>
<rtmv2.h>
<rtutils.h>
<stm.h>

Please do include these in the next release if at all
possible, as XORP will require them in order to build,
we'd be very grateful.

Kind regards,
BMS

Discussion

  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About iphlpapi.h:
    GetAdaptersAddresses() had already been added.

    About ipifcons.h:
    I can't find the IF_* macro constants in MSDN. Are they
    documented?

    About iptypes.h:
    Everything had already been added, except the GAA_FLAG_*
    macro constants which are documented here:
    http://msdn.microsoft.com/library/en-us/iphlp/iphlp/getadaptersaddresses.asp
    More constants are documented such as
    GAA_FLAG_INCLUDE_GATEWAYS. Are you aware of them?

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About rtm.def:
    1) MgmSetMfe is missing from pexports output! How to explain
    that?
    2) Also I don't think MgmInitialize and MgmDeInitialize need
    to be added to this file, do they?

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About winbase.h:
    Added both functions, but note that ChangeTimerQueueTimer()
    should be protected by:
    _WIN32_WINNT >= 0x0500
    and not by:
    _WIN32_WINNT >= 0x0502

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About mprapi.h:
    ---------------

    The following macro constants are not documented by MSDN:
    MPR_MaxIpAddress
    MPR_MaxIpxAddress
    MPR_MaxEntryName
    MPR_MaxCallbackNumber
    MPR_MaxAreaCode
    I'm not adding them for now. What would they be needed for?

    The rest of MPR_Max* constants have already been added.

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About mprapi.h:
    ---------------

    The following constants:
    MPRDM_DialAll
    MPRDM_DialAsNeeded
    MPRIDS_Disabled
    MPRIDS_UseGlobalValue
    have already been added as documented here:
    http://msdn.microsoft.com/library/en-us/rras/rras/mpr_interface_2.asp

    However MPRDM_DialFirst is not documented by MSDN. What is
    needed for?

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About mprapi.h:
    ---------------

    The following function is not cited in the reference
    documentation:
    MprConfigServerSetInfo
    but it appears in MSDN example code:
    http://msdn.microsoft.com/library/en-us/rras/rras/setting_l2tp_and_pptp_ports.asp
    So I'm adding it.

    The following functions are not documented anywhere:
    MprConfigServerRefresh
    MprAdminDeviceEnum
    MprSetupIpInIpInterfaceFriendlyNameEnum
    MprSetupIpInIpInterfaceFriendlyNameFree
    MprSetupIpInIpInterfaceFriendlyNameCreate
    MprSetupIpInIpInterfaceFriendlyNameDelete
    So I'm not declaring them. What are they needed for?

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About mprapi.h:
    ---------------

    This macro function is not documented in MSDN:
    MprInfoBlockExists
    Where does it come from? What is it needed for?

    Not adding it for now. The rest of mprapi.h should be
    complete in CVS by now.

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About mprerror.h:
    -----------------

    I've searched a few of these constants in MSDN but wasn't
    able to find any. Where are they documented? What are they
    needed for?

    I'm not adding this header file for now.

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About routprot.h:
    -----------------

    Where do these constants come from? What are they used for?
    RF_ROUTING
    RF_DEMAND_UPDATE_ROUTES
    RF_ADD_ALL_INTERFACES
    RF_MULTICAST
    RF_POWER
    MS_ROUTER_VERSION
    I'm unable to find any documentation.

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    About rtutils.h:
    ----------------
    Most of the functions had already been added but thanks for
    these macros, I couldn't understand why they were not
    functions in rtutils.def:
    TraceDump{AW}
    TracePuts{AW}
    TraceRegister{AW}
    TraceVprintf{AW}

    This function is not documented anywhere:
    TraceGetConsole{AW}
    What is it needed for?

    Couldn't find any documentation about these methods either:
    LogError{AW}
    LogEvent{AW}
    RouterLogRegister{AW}
    RouterLogDeregister{AW}
    RouterLogEvent{AW}
    RouterLogEventString{AW}
    RouterLogEventEx{AW}
    RouterLogEventValistEx{AW}
    RouterGetErrorString{AW}
    QueueWorkItem
    SetIoCompletionProc
    RouterAssert
    MprSetupProtocolEnum
    MprSetupProtocolFree
    *WaitEvent*/UpdateWaitTimer
    WTFree*
    DebugPrintWaitWorkerThreads
    But that may be because some of them are lost in the noise -
    too many such methods available elsewhere. Where are they
    documented? What are they needed for?

    Unlike the other TRACE_* macro constants, this one is not
    documented:
    TRACE_USE_DATE
    What is it needed for?

    Same with these macros or structures:
    WORKERFUNCTION
    NUM_ALERTABLE_THREADS
    MAX_WORKER_THREADS
    WORK_QUEUE_TIMEOUT
    THREAD_IDLE_TIMEOUT
    RTUTILS_MAX_PROTOCOL_NAME_LEN/MAX_PROTOCOL_NAME_LEN
    RTUTILS_MAX_PROTOCOL_DLL_LEN/MAX_PROTOCOL_DLL_LEN
    MPR_PROTOCOL_0
    ROUTING_RESERVED
    OPT1_*
    WT_TIMER_ENTRY
    WT_WORK_ITEM
    WT_EVENT_ENTRY
    DEBUGPRINT_FILTER_*
    ERROR_*
    TIMER_*

     
  • Earnie Boyd

    Earnie Boyd - 2013-02-05
    • labels: w32api (deprecated use WSL) -->
    • status: open --> pending
    • assigned_to: Earnie Boyd
    • resolution: --> later
    • category: --> Unknown
    • milestone: IINR_-_Include_In_Next_Release --> WSL
     
  • Earnie Boyd

    Earnie Boyd - 2013-02-19
    • status: pending --> closed
    • type: --> Bug
    • resolution: later --> out-of-date
    • category: Unknown --> featured-pre-wsl
    • patch_attached: --> False
     
  • Earnie Boyd

    Earnie Boyd - 2013-02-19

    It seems Dimitri committed what he could with no feedback from the user. Closing as out-of-date since most of the work is done.

     

Log in to post a comment.