| | |
How To Interface with x25
Please support our C# advertiser: Intel Parallel Studio Home
| View Poll Results: Can we Communicate with x25 using .Net | |||
| MayBe | | 3 | 100.00% |
| Never | | 0 | 0% |
| Voters: 3. You may not vote on this poll | |||
![]() |
•
•
Join Date: Nov 2005
Posts: 3
Reputation:
Solved Threads: 0
Hi Friends
I am Doing Application to interface with the x25.......
The Company Eiconcard provided the sample code but that is in c language. I want to develop it in c#. Below I write the Code which is equivalent to c Language code but its not working properly.
Plz Help me.............
using System;
using System.Runtime.InteropServices ;
using System.Data.Common ;
using System.Threading;
namespace UdayChat
{
/// <summary>
/// Summary description for MyClass.
/// </summary>
public class MyClass
{
public MyClass()
{
}
public struct x25Data
{
public string Xd_Data;
public int Xd_Len;
}
public struct x25doneinfo
{
public int xi_len;
public string xi_buf;
public int xi_cid;
public int xi_cmd;
public int xi_info;
public int xi_retcode;
[MarshalAs(UnmanagedType.AsAny)] object xi_ref;
};
////////
//public x25doneinfo doneinfo = new x25doneinfo();
public delegate void PostDelgate(ref x25doneinfo doneInfo );
//public const X25NULLFN (void (intPtr)) ;
[MarshalAs(UnmanagedType.FunctionPtr)] PostDelgate post;
const int DATA_SIZE =128;
public static x25Data sUdata = new x25Data() ;
public static x25Data sFacil = new x25Data() ;// size of data buffer */
[DllImport("Ex25.dll")]
public static extern string x25version(char []ss);
[DllImport("Ex25.dll")]
public static extern int x25init(int message,uint uMsg);
[DllImport("Ex25.dll")]
public static extern int x25error();
[DllImport("Ex25.dll")]
public static extern string x25alloc(int DATA_SIZE);
[DllImport("Ex25.dll")]
public static extern int x25exit();
[DllImport("Ex25.dll")]
public static extern int x25xcall(
int Cid,
int X25NOWAIT,
int iPort,
int iInfo,
x25Data sFacil ,
x25Data sUsage ,
string Remote,
string Local,
IntPtr xx);
[DllImport("Ex25.dll")]
public static extern int x25recv(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
[DllImport("Ex25.dll")]
public static extern int x25send(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
public string Local ;
public int Cid=0,X25NOWAIT=0,iPort=0,iInfo=0,intFlag=0;
public string Remote,StrError;
public static string cpRecvBuf;
public static char [] argv = new char[50];
public Thread Thread1,Thread2;
public string DispVersion()
{
char [] ss = new char [150] ;
string str;
str = x25version( ss);
return str;
}
public string ExecuteCall(int port,string Data)
{
int intFlag=0,intPort=0;
string strcpSendBuf="",strRecvBuff="";
intFlag = x25init(0,0);
if(intFlag<0)
{
abort_prog_no_x25exit("x25init");
}
/////////// Allocate Buffer.
strcpSendBuf = x25alloc(DATA_SIZE);
if(strcpSendBuf ==null)
{
abort_prog_no_x25exit("x25alloc");
}
strRecvBuff = x25alloc(DATA_SIZE);
if(strRecvBuff ==null)
{
abort_prog_no_x25exit("x25alloc");
}
Form1 fm = new Form1 ();
intPort = port;
sUdata. Xd_Data = Data;
sUdata.Xd_Len = Data.Length;
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len = Data.Length ;
Local = "";
Remote = "4460700";
//////// if(argv[3].ToString().CompareTo("/c")==0)
//////// {
//////// Console.WriteLine ("MODE:\tCALLER\n");
StrError = do_call();
////// }
////// else
////// {
//////////// Console.WriteLine ("MODE:\tListen\n");
//do_Listen();
////// }
return StrError ;
}
public String do_call()
{
StrError = "Calling...";
//////// if(x25xcall( Cid, X25NOWAIT, iPort, iInfo, sFacil , sUdata , Remote, Local, post) < 0)
//////// {
//////// StrError= abort_prog("x25xcall");
//////// return StrError;
//////// }
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len =5;
sUdata.Xd_Data ="uday";
sUdata.Xd_Len = 4;
int intCall =0;
intCall =x25xcall( 2, 0, 2, 0, sFacil , sUdata , "4460700", ".\\uday", IntPtr.Zero ) ;
if( intCall< 0)
{
StrError= abort_prog("x25xcall");
return StrError;
}
do_common();
return StrError ;
}
void do_common()
{
Thread1 = new Thread( new ThreadStart(recvThread));
Thread1.Start();
Thread2 = new Thread( new ThreadStart(recvThread));
Thread2.Start();
}
public void recvThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25recv(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
public void sendThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25send(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
/////////////////// Error Functions
public string abort_prog_no_x25exit(string CpStr)
{
int intErrorNo=0;
intErrorNo = x25error();
return StrError + intErrorNo.ToString ();
}
public string abort_prog(string cpStr)
{
StrError = StrError + cpStr;
StrError = StrError + "ERROR: " + x25error();
StrError = StrError + setPrgEnd("\n");
return StrError;
}
public string setPrgEnd(string cpStr)
{
StrError = StrError + cpStr;
StrError = abort_prog_x25exit("\nCan't set End Event, Fatal Error\n");
return StrError;
}
string abort_prog_x25exit(string cpStr)
{
StrError = StrError + cpStr;
StrError= StrError + "ERROR:" + x25error();
if(x25exit() < 0)
{
StrError = abort_prog_no_x25exit("x25exit");
}
return StrError ;
}
////////////////// Error End Functions................
}
}
you will get the more info on
http://www.eicon.com/support/trainin...5_Theory&s=150
Thanks in Advance.
Regards,
Uday Shelar.
I am Doing Application to interface with the x25.......
The Company Eiconcard provided the sample code but that is in c language. I want to develop it in c#. Below I write the Code which is equivalent to c Language code but its not working properly.
Plz Help me.............
using System;
using System.Runtime.InteropServices ;
using System.Data.Common ;
using System.Threading;
namespace UdayChat
{
/// <summary>
/// Summary description for MyClass.
/// </summary>
public class MyClass
{
public MyClass()
{
}
public struct x25Data
{
public string Xd_Data;
public int Xd_Len;
}
public struct x25doneinfo
{
public int xi_len;
public string xi_buf;
public int xi_cid;
public int xi_cmd;
public int xi_info;
public int xi_retcode;
[MarshalAs(UnmanagedType.AsAny)] object xi_ref;
};
////////
//public x25doneinfo doneinfo = new x25doneinfo();
public delegate void PostDelgate(ref x25doneinfo doneInfo );
//public const X25NULLFN (void (intPtr)) ;
[MarshalAs(UnmanagedType.FunctionPtr)] PostDelgate post;
const int DATA_SIZE =128;
public static x25Data sUdata = new x25Data() ;
public static x25Data sFacil = new x25Data() ;// size of data buffer */
[DllImport("Ex25.dll")]
public static extern string x25version(char []ss);
[DllImport("Ex25.dll")]
public static extern int x25init(int message,uint uMsg);
[DllImport("Ex25.dll")]
public static extern int x25error();
[DllImport("Ex25.dll")]
public static extern string x25alloc(int DATA_SIZE);
[DllImport("Ex25.dll")]
public static extern int x25exit();
[DllImport("Ex25.dll")]
public static extern int x25xcall(
int Cid,
int X25NOWAIT,
int iPort,
int iInfo,
x25Data sFacil ,
x25Data sUsage ,
string Remote,
string Local,
IntPtr xx);
[DllImport("Ex25.dll")]
public static extern int x25recv(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
[DllImport("Ex25.dll")]
public static extern int x25send(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
public string Local ;
public int Cid=0,X25NOWAIT=0,iPort=0,iInfo=0,intFlag=0;
public string Remote,StrError;
public static string cpRecvBuf;
public static char [] argv = new char[50];
public Thread Thread1,Thread2;
public string DispVersion()
{
char [] ss = new char [150] ;
string str;
str = x25version( ss);
return str;
}
public string ExecuteCall(int port,string Data)
{
int intFlag=0,intPort=0;
string strcpSendBuf="",strRecvBuff="";
intFlag = x25init(0,0);
if(intFlag<0)
{
abort_prog_no_x25exit("x25init");
}
/////////// Allocate Buffer.
strcpSendBuf = x25alloc(DATA_SIZE);
if(strcpSendBuf ==null)
{
abort_prog_no_x25exit("x25alloc");
}
strRecvBuff = x25alloc(DATA_SIZE);
if(strRecvBuff ==null)
{
abort_prog_no_x25exit("x25alloc");
}
Form1 fm = new Form1 ();
intPort = port;
sUdata. Xd_Data = Data;
sUdata.Xd_Len = Data.Length;
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len = Data.Length ;
Local = "";
Remote = "4460700";
//////// if(argv[3].ToString().CompareTo("/c")==0)
//////// {
//////// Console.WriteLine ("MODE:\tCALLER\n");
StrError = do_call();
////// }
////// else
////// {
//////////// Console.WriteLine ("MODE:\tListen\n");
//do_Listen();
////// }
return StrError ;
}
public String do_call()
{
StrError = "Calling...";
//////// if(x25xcall( Cid, X25NOWAIT, iPort, iInfo, sFacil , sUdata , Remote, Local, post) < 0)
//////// {
//////// StrError= abort_prog("x25xcall");
//////// return StrError;
//////// }
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len =5;
sUdata.Xd_Data ="uday";
sUdata.Xd_Len = 4;
int intCall =0;
intCall =x25xcall( 2, 0, 2, 0, sFacil , sUdata , "4460700", ".\\uday", IntPtr.Zero ) ;
if( intCall< 0)
{
StrError= abort_prog("x25xcall");
return StrError;
}
do_common();
return StrError ;
}
void do_common()
{
Thread1 = new Thread( new ThreadStart(recvThread));
Thread1.Start();
Thread2 = new Thread( new ThreadStart(recvThread));
Thread2.Start();
}
public void recvThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25recv(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
public void sendThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25send(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
/////////////////// Error Functions
public string abort_prog_no_x25exit(string CpStr)
{
int intErrorNo=0;
intErrorNo = x25error();
return StrError + intErrorNo.ToString ();
}
public string abort_prog(string cpStr)
{
StrError = StrError + cpStr;
StrError = StrError + "ERROR: " + x25error();
StrError = StrError + setPrgEnd("\n");
return StrError;
}
public string setPrgEnd(string cpStr)
{
StrError = StrError + cpStr;
StrError = abort_prog_x25exit("\nCan't set End Event, Fatal Error\n");
return StrError;
}
string abort_prog_x25exit(string cpStr)
{
StrError = StrError + cpStr;
StrError= StrError + "ERROR:" + x25error();
if(x25exit() < 0)
{
StrError = abort_prog_no_x25exit("x25exit");
}
return StrError ;
}
////////////////// Error End Functions................
}
}
you will get the more info on
http://www.eicon.com/support/trainin...5_Theory&s=150
Thanks in Advance.
Regards,
Uday Shelar.
•
•
Join Date: Jan 2006
Posts: 3
Reputation:
Solved Threads: 0
•
•
•
•
Originally Posted by udayshelar
Hi Friends
I am Doing Application to interface with the x25.......
The Company Eiconcard provided the sample code but that is in c language. I want to develop it in c#. Below I write the Code which is equivalent to c Language code but its not working properly.
Plz Help me.............
using System;
using System.Runtime.InteropServices ;
using System.Data.Common ;
using System.Threading;
namespace UdayChat
{
/// <summary>
/// Summary description for MyClass.
/// </summary>
public class MyClass
{
public MyClass()
{
}
public struct x25Data
{
public string Xd_Data;
public int Xd_Len;
}
public struct x25doneinfo
{
public int xi_len;
public string xi_buf;
public int xi_cid;
public int xi_cmd;
public int xi_info;
public int xi_retcode;
[MarshalAs(UnmanagedType.AsAny)] object xi_ref;
};
////////
//public x25doneinfo doneinfo = new x25doneinfo();
public delegate void PostDelgate(ref x25doneinfo doneInfo );
//public const X25NULLFN (void (intPtr)) ;
[MarshalAs(UnmanagedType.FunctionPtr)] PostDelgate post;
const int DATA_SIZE =128;
public static x25Data sUdata = new x25Data() ;
public static x25Data sFacil = new x25Data() ;// size of data buffer */
[DllImport("Ex25.dll")]
public static extern string x25version(char []ss);
[DllImport("Ex25.dll")]
public static extern int x25init(int message,uint uMsg);
[DllImport("Ex25.dll")]
public static extern int x25error();
[DllImport("Ex25.dll")]
public static extern string x25alloc(int DATA_SIZE);
[DllImport("Ex25.dll")]
public static extern int x25exit();
[DllImport("Ex25.dll")]
public static extern int x25xcall(
int Cid,
int X25NOWAIT,
int iPort,
int iInfo,
x25Data sFacil ,
x25Data sUsage ,
string Remote,
string Local,
IntPtr xx);
[DllImport("Ex25.dll")]
public static extern int x25recv(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
[DllImport("Ex25.dll")]
public static extern int x25send(
int Cid,
string cpRecvBuf,
int DATA_SIZE,
int iInfo,
PostDelgate post);
public string Local ;
public int Cid=0,X25NOWAIT=0,iPort=0,iInfo=0,intFlag=0;
public string Remote,StrError;
public static string cpRecvBuf;
public static char [] argv = new char[50];
public Thread Thread1,Thread2;
public string DispVersion()
{
char [] ss = new char [150] ;
string str;
str = x25version( ss);
return str;
}
public string ExecuteCall(int port,string Data)
{
int intFlag=0,intPort=0;
string strcpSendBuf="",strRecvBuff="";
intFlag = x25init(0,0);
if(intFlag<0)
{
abort_prog_no_x25exit("x25init");
}
/////////// Allocate Buffer.
strcpSendBuf = x25alloc(DATA_SIZE);
if(strcpSendBuf ==null)
{
abort_prog_no_x25exit("x25alloc");
}
strRecvBuff = x25alloc(DATA_SIZE);
if(strRecvBuff ==null)
{
abort_prog_no_x25exit("x25alloc");
}
Form1 fm = new Form1 ();
intPort = port;
sUdata. Xd_Data = Data;
sUdata.Xd_Len = Data.Length;
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len = Data.Length ;
Local = "";
Remote = "4460700";
//////// if(argv[3].ToString().CompareTo("/c")==0)
//////// {
//////// Console.WriteLine ("MODE:\tCALLER\n");
StrError = do_call();
////// }
////// else
////// {
//////////// Console.WriteLine ("MODE:\tListen\n");
//do_Listen();
////// }
return StrError ;
}
public String do_call()
{
StrError = "Calling...";
//////// if(x25xcall( Cid, X25NOWAIT, iPort, iInfo, sFacil , sUdata , Remote, Local, post) < 0)
//////// {
//////// StrError= abort_prog("x25xcall");
//////// return StrError;
//////// }
sFacil.Xd_Data = "1 128";
sFacil.Xd_Len =5;
sUdata.Xd_Data ="uday";
sUdata.Xd_Len = 4;
int intCall =0;
intCall =x25xcall( 2, 0, 2, 0, sFacil , sUdata , "4460700", ".\\uday", IntPtr.Zero ) ;
if( intCall< 0)
{
StrError= abort_prog("x25xcall");
return StrError;
}
do_common();
return StrError ;
}
void do_common()
{
Thread1 = new Thread( new ThreadStart(recvThread));
Thread1.Start();
Thread2 = new Thread( new ThreadStart(recvThread));
Thread2.Start();
}
public void recvThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25recv(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
public void sendThread()
{
Boolean BoolFlag = true;
while(BoolFlag )
{
if(x25send(Cid,cpRecvBuf,DATA_SIZE,iInfo,post) < 0)
{
abort_prog("x25recv");
}
BoolFlag = false;
}
}
/////////////////// Error Functions
public string abort_prog_no_x25exit(string CpStr)
{
int intErrorNo=0;
intErrorNo = x25error();
return StrError + intErrorNo.ToString ();
}
public string abort_prog(string cpStr)
{
StrError = StrError + cpStr;
StrError = StrError + "ERROR: " + x25error();
StrError = StrError + setPrgEnd("\n");
return StrError;
}
public string setPrgEnd(string cpStr)
{
StrError = StrError + cpStr;
StrError = abort_prog_x25exit("\nCan't set End Event, Fatal Error\n");
return StrError;
}
string abort_prog_x25exit(string cpStr)
{
StrError = StrError + cpStr;
StrError= StrError + "ERROR:" + x25error();
if(x25exit() < 0)
{
StrError = abort_prog_no_x25exit("x25exit");
}
return StrError ;
}
////////////////// Error End Functions................
}
}
you will get the more info on
http://www.eicon.com/support/trainin...5_Theory&s=150
Thanks in Advance.
Regards,
Uday Shelar.
i am also struggling the same code what u did , i need help from u can u tell me the solution, for ex25.dll how to interface that, i am thankful if u told that solution, i need very urgent. my mail id :-yb_bhaskar@yahoo.com . i am waiting for your reply
thanks
bhaskar
![]() |
Similar Threads
- Window Interface in C++ (C++)
- applet , Runnable interface and problems (Java)
- Problem accessing zyxtel routers interface (Networking Hardware Configuration)
- Running a q-basic program with a vb interface (Legacy and Other Languages)
- Mysql interface (PHP)
- implementation of interface to optimize the search engines using sementics (Java)
- Media Control Interface (MCI) drivers/requirements (Visual Basic 4 / 5 / 6)
- Creating Java interface to my c++ program (Java)
Other Threads in the C# Forum
- Previous Thread: Prevent a registry key from deletion
- Next Thread: How to work with ex25.dll in C#
| Thread Tools | Search this Thread |
.net access ado.net algorithm array barchart bitmap box broadcast button buttons c# check checkbox client color combobox control conversion csharp custom database datagrid datagridview dataset datetime degrees development draganddrop drawing editing enabled encryption enum event excel file files form format forms function gdi+ httpwebrequest image index input install java label list listbox listener load mandelbrot math mouseclick mysql operator path photoshop picturebox pixelinversion post print programming radians regex remote remoting resolved. richtextbox save saving serialization server sleep socket sql statistics stream string table tcp text textbox thread time timer update user usercontrol validation view visualstudio webbrowser windows winforms wpf xml





