socket program for 16 bit DOS system

February 9, 2010 at 23:19:52
Specs: Windows XP
Hi all,
I have to write one socket program for 16 bit DOS system, I have written it in windows xp but what are the changes required for this case
Please help me ...

Thanks in advance

See More: socket program for 16 bit DOS system

Report •

February 9, 2010 at 23:35:56
It may help to say what language.

More a programming question in any case.

Helping others achieve escape felicity


Report •

February 10, 2010 at 00:27:35

Thanks for replying

" C " language only.

Report •

February 10, 2010 at 02:15:37
The main changes are related to system calls as Windows XP is NT kernel based and Windows family relies on API to request operating system services.

In DOS control is released to system via the int 21h soft interrupt and parameters stored in registers. In 16 bit systems the layered privilege level is unknown and the access to the basic system resources is allowed to applications, i.e. there is no restricted kernel.

In one word the architecture of the two environments makes a direct porting questionable.

Report •

Related Solutions

February 10, 2010 at 02:32:26
Hi ,

Do u mean there is no chenge required in c programming ?
sorry can u clear me>

Thanks in advance

Report •

February 10, 2010 at 03:48:34
Just the opposite!.

I fear you are facing an awesome work to adapt your C program to the legacy environment due to the different architectures behind the systems. When i had to do similar jobs I needed to redesign key pieces of the application, not just replace #include and similar stuff for the compiler.

I hope I am wrong.

Report •

February 10, 2010 at 04:09:41

I am using visual c++ 6 compiler right now ,
but our client's PC is 16 bit dos system
so my application has to run in that system.
So can i code in same compiler for this application also or i need to go for different perticular 16 it compiler?

Thanks in advance

Report •

February 10, 2010 at 06:27:35
You need a C compiler that supports DOS environment as target. If Visual C++ has that facility you can use it, however you need another one. There are many C/C++ compilers available for free on the net that offer multi-target facility, i.e. thay can compile a source for e.g. Windows XP, Windows NT/4.0, Win 95/98 or Win 3X and DOS.

Anyway you have to compile for DOS system as target because, as I said, the structure of the load module is related to the operating system it has to run under.

Check if your compiler supports DOS as taeget; a free multi-target compiler is Open Watcom ( but that is just an example.

I am surprised your client runs DOS, it is quite rare to face a backward conversion from up to date environments. Are you sure your client can't afford more viable solutions?

Report •

Ask Question