Product:    ISaGRAF 4.10
Date: 03-May-2001
File: 4.10 Upgrade porting procedure.htm
Subject: 4.10 Upgrade porting procedure on Socket
Keywords: Socket - porting


0) First of all here is a reminder of the general upgrade procedure. You can find it on the PRDK CD on the Target\\NewOs\\MultiTask\\Release.txt file.

In a general way, the integration procedure should be as following:

* Install the new release source files for a new OS

* Copy your system dependent files (files you have filled in empty functions during the port)

* Copy other specific components ('C' POUs, IO drivers,...)

* Re-integrate dsys0def.h file to take into account new definition features (see header information in file)

* Re-integrate any other possible ICS Triplex ISaGRAF maintained files you may have modified (you should not have done that)

* Perform versions specific release notes detailed in the rest of Target\\NewOs\\MultiTask\\Release.txt file.


1) Basically to port the socket with ISaGRAF 4.10, there are two different ways:

* first case: you keep the det0soc.c file PROVIDED BY ICS Triplex ISaGRAF with the 4.10 source code (without any modification). This file is now system independent, YOU DO NOT NEED TO MODIFY IT. This file will use the 4.10 NEW ISysSoc library. In this case, you have to complete the dsys0soc.c file.(See TCP/IP interface in the ProDK.chm). You also have to complete your makefiles to generate the NEW library ISysSoc.lib (see Target\\NewOs\\MultiTask\\MakPrdk.txt file).

Note that you can use the source code of the porting of ISaGRAF 4.10 on Windows NT as example.

* second case: you keep your det0soc.c of your previous porting (4.03).

In this case, you have to add the MACROS described in the "release.txt" file in det0soc.h.

#define ISA_SOC_ISINVALID(pSocket) ((*pSocket) == ISA_ETCP_NUL_SOCKET_ID)

#define ISA_SOC_RESETID(pSocket) ((*pSocket) = ISA_ETCP_NUL_SOCKET_ID)

#define ISA_SOC_CPYID(pSocketDest, pSocketSrc) ((*pSocketDest) = (*pSocketSrc))

#define ISA_SOC_ADDCMP(pAdd1, pAdd2) (*(pAdd1) == *(pAdd2))

#define ISA_SOC_ADDCPY(pAddDest, pAddSrc) (*(pAddDest) = *(pAddSrc))

And you have to ignore the new ISysSoc library (dSys0Soc.c) in makefiles.


Note: The first implementation (the one which uses ISysSoc) is preferable because new features like HiBeam Data server will use this library.


Copyright © 1999-2009 ICS Triplex ISaGRAF Inc. All rights reserved.