Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Doug Clark

Pages: [1] 2 3
Networking / Universal Naming Convention (UNC) on Samba?
« on: June 19, 2021, 05:51:01 am »
Does universal naming convention (UNC) work on Samba for OS/2?  Or is it limited to Netbios (file/print services) on OS/2?

Setup & Installation / Win-OS/2 installed on non-boot drive
« on: May 29, 2021, 05:40:52 pm »
If I remember correctly you can install Win-OS/2 on a drive other than the boot drive.   I also seem to remember that when you do this some environment variable is set to indicate which drive holds the Win-OS/2 system.

So my questions are:

1) does this environment variable, or some other means, exist to determine which drive Win-OS/2 is installed on?

2) What is the directory structure when installed on a different drive?   (Normally it is C:\OS2\MDOS\WINOS2)

Has anyone successfully used the EPM Etoolkit  to create an EPM based MLE in a VisualAge C++ v 3.0 IOC application?

Sample 2 from the etoolkit shows an E-MLE inside of an EFrame inside of an application window.  The E-MLE is the actual editor guts; the EFrame adds scroll bars, message line, title bar etc.  I lightly modified sample 2 from the etoolkit SDK, compiled with VAC 3.0 and it works - attached as

But when I convert that into a "custom control" as a C++ class, to integrate with the user interface part of the IOC library, part of the E-MLE stops working.  It appears to be the part that sends messages, or receives messages related to editor commands.  What I THINK is happening is the dispatcher that the IOC uses to intercept and route window messages is somehow not sending the messages to the E-MLE window procedure.  Or rather some of the messages, because other messages clearly are getting through.

So has anyone converted a customized PM window/control into a IOC user interface object that can be inserted into various other IOC UI objects? is the lightly modified Sample 2 from the eToolkit sdk. contains my class EpmMle (descended from IControl) which is my attempt to integrate an EFrame/E-MLE into a custom control that can be used in IOC.  Run testmain.exe from and try issuing a command from the menu;  Command - Command Dlg and then type some EPM command, such as SAYERROR 'Hello'   You will need the VAC 3.0 runtime libraries to run testmain.exe

Applications / SAMBA Network access denied
« on: September 30, 2020, 11:21:30 pm »
I am trying to set up samba 3.3.16 and when attempting to execute Samba Users and Groups I get the message

Sys0065: Network access is denied.

For some reason I also have KLIBC User Management - I think it was for the Drop Box plugin
Any thoughts on how to fix this.

Programming / Aligning on 64k boundary
« on: September 14, 2020, 05:34:10 pm »
The Control Program reference says in the Remarks for DosWrite()

"When writing message pipes the application is limited to 64K messages. As well, these messages cannot span 64k boundaries due to the current design of the thunk layer in read or write routines. If the message is not written in an aligned manner, the subsequent read will not be able to handle the messages properly."

Since this is talking about thunking I assume it is for the 32 bit version of OS/2 rather than a relic from the 286 version of OS/2.  And besides you need to be able to read/write to a pipe from WinOS2.

How do you allocate memory (a buffer for a message) so that it does not cross a 64k boundary? 

I am programming in C - specifically VisualAge.

I don't see anything specific in DosAllocMem().   The #pragma pack only addresses alignment to 1,2,4,8 or 16 byte  alignments.

Programming / Non-English programming questions - in English
« on: August 25, 2020, 06:29:09 am »
When non-English speakers write programs, such as Rexx, SQL or C, what language do they write in?

For example in SQL - in English a query looks like

SELECT column1, column2 FROM thisTable WHERE someCondition ORDER BY column3

Does a Spanish speaker or German speaker write the same thing, or do they write the Spanish/German words for SELECT FROM WHERE and ORDER BY?

Likewise in Rexx, does everyone write DO UNTIL and SELECT , or do they write their own language equivalents?

Programming / WPS Locale Object Questions
« on: August 21, 2020, 11:47:55 pm »
In the System Setup folder there is a WPS object called Locale.

That object appears to have locale settings that are not obtainable from the OS/2 Control Program DosQueryCtryInfo() function.  Furthermore for the items in the WPS Locale object that DO appear in DosQueryCtyInfo() the settings shown in the WPS Locale object don't match the values returned by DosQueryCtyInfo().    For example the date separator character - see attachments.

So my questions are:

1) What locale does the WPS Locale object change or show?
2) How do I access those settings from a C language program?
3) Is there some object that reconciles what is returned by DosQueryCtyInfo() and the WPS Locale Object


Applications / PmMail 3.24 bug
« on: May 17, 2020, 06:55:41 pm »
I upgraded to PmMail 3.24 and have encountered a bug which I cannot report to OS2 Voice.

The bug is:  The setting "Channel Encryption is Optional" does not retain its setting for two of my channels when PmMail is closed.  That setting is on the Global Settings notebook, on the Secure Transfer tab, select a Channel Definition and click the modify button. The Channel Encryption is Optional checkbox is on the dialog box that pops up.   If that check box is not checked PmMail will not connect to my Comcast email server.  The setting reverts to unchecked for two of my channels when PmMail is closed.

I tried reporting the bug to the URL specified in the PmMail help.  Which requires creating a new account in Mantis bug Tracker. The first time I tried to create an account I accidently typed the wrong email address.  There is no way to recover from this because the user name for the new account is now consided to be taken when I retry.  So I created another user name, correctly typed my email address, and tried using the confirmation URL emailed me by Mantis but received a message which says "The confirmation URL is invalid or has already been used. Please signup again."

BTW - other than that the new version looks very nice.

Just ran across a video which shows alternatives to Windows and Mac - and includes ArcaOS in the list

Article Discussions / Greatest keyboard of all time?
« on: January 02, 2020, 05:49:55 am »
The one in the photo was built Sep 1993, and is hooked up to my ASUS/AMD system via a PS/2 to USB convert that runs through a USB KVM switch.

I am partial to the IBM Model M, as is the Linus Tech guy -

I get parts for mine at

If you are partial to the older Model F you might be able to pick up a new modern one from
This guy is "Bringing back the classic buckling spring keyboard, built to last for decades but out of production since the 1980s, for a short production run ending soon!"   He is building the F62 Model F – Kishsaver and the F77 Model F.  I don't like the keyboard layouts of the Model F, but you can get customization of the key layouts so that it comes close to the Model M.

Utilities / DB2 WIN-OS2 ODBC and ReportSmith
« on: August 17, 2019, 12:40:48 am »
Sean and I have been conversing through messenging on the site about DB2/2 and WinOS2 and IBM's WinOS2 CAE.

I wrote an article a number of years ago about databases and ODBC. In that article I said that the DB2 version 5 CAE for WinOS2 did not work very well, and that IBM had instituted a "2 versions back, 1 version forward" policy on CAEs and server versions. This meant that the DB2 version 2 WinOS2 CAE and ODBC driver, which works well in WinOS2, would not work connect with DB2 version 7. All of that, to the best of my knowledge, is still true.

I have discovered since then however what appears to be a work around for getting the version 5 DB2 CAE and ODBC driver for WinOS2 to work - which means you can connect from WinOS2 to DB2 version 7 - which is the last version of server released for OS/2.

The work around that appears to work is to install the DB2 version 5 CAE for Windows 3.1, connect to your database using the IBM WinOS2 Command Line Processor in a WinOS2 session, and leave the command line processor running and connected, before attempting to connection with any other application.

(This is an obvious issue when attempting to connect Windows 3.1 applications to DB2 in a seamless session. I think I have a work around for that also but it is not ready yet.)

The second issue Sean had was running ReportSmith in WinOS2 and connecting to DB2.  ReportSmith is, in my opinion, and excellent report writer, very cheap and readily available. It is bundled with Delphi versions 1 and 2 which you can pick up on ebay for $5 - $15. The trick in getting ReportSmith to connect to DB2 is to remove the word DB2 from the description of the driver in ODBC.INI and ODBCINST.INI located in C:\OS2\MDOS\WINOS2. I have attached my ODBC.INI and ODBCINST.INI to show how it is done. The thing to remember however is the IBM DB2 Client Setup won't work unless the DB2 is in the description. So get the client setup, THEN alter ODBC.INI and ODBCINST.INI.

Hope this helps Sean

Utilities / Create an ISO from a CD
« on: June 04, 2019, 03:55:22 am »
Is there a utility or program that runs in OS/2 that I could use to create an ISO from the contents of a CD?   I don't see how to do that in DVD tools.

Or must I fall back to a mac for this task?

Applications / PostgreSQL database initialization
« on: May 30, 2019, 01:51:16 am »
I have installed PostgreSQL v 9.6.6 - by unzipping into e:\pgsql

I have two issues:

1) initDB apparently doesn't like the OS/2 code page IBM-850
The error message is below

[E:\]initdb -D E:\PGDATA
LOG:  00000: invalid binary "E:/"E:/pgsql/bin/postgres.exe"
LOCATION:  find_my_exec, exec.c:146
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.IBM-850".
could not determine encoding for locale "en_US.IBM-850": codeset is "IBM-850"
initdb: could not find suitable encoding for locale "en_US.IBM-850"
Rerun initdb with the -E option.
Try "initdb --help" for more information.

2) I think the encoding of LATIN1 (ISO-8859-1) is the closest encoding to IBM-850 that PostgreSQL recognize, so I specified -E LATIN1.
But now I get a strange issue of Postgres not being able to find its own binaries.  Notice the error message below says invalid executable: "E:/"E:/pgsql/bin/postgres.exe"
For some reason Postgres is prefixing the current directory to the front of the path containing the executable and then using that as the path for the executable.

Anyone had success in getting version 9.6.6 to install and run?

[E:\]initdb -E LATIN1 -D E:\PGDATA
LOG:  00000: invalid binary "E:/"E:/pgsql/bin/postgres.exe"
LOCATION:  find_my_exec, exec.c:146
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.IBM-850".
could not determine encoding for locale "en_US.IBM-850": codeset is "IBM-850"
could not determine encoding for locale "en_US.IBM-850": codeset is "IBM-850"
The default text search configuration will be set to "english".

Data page checksums are disabled.

creating directory E:/PGDATA ... ok
creating subdirectories ... ok
selecting default max_connections ... 10
selecting default shared_buffers ... 400kB
selecting dynamic shared memory implementation ... sysv
creating configuration files ... ok
running bootstrap script ... LOG:  00000: invalid binary "E:/"E:/pgsql/bin/postg
LOCATION:  find_my_exec, exec.c:146
LOG:  00000: invalid binary "E:/"E:/pgsql/bin/postgres.exe"
LOCATION:  find_my_exec, exec.c:146
FATAL:  XX000: "E:/pgsql/bin/postgres.exe": could not locate my own executable p
LOCATION:  InitStandaloneProcess, miscinit.c:236
child process exited with exit code 1
initdb: removing data directory "E:/PGDATA"

Programming / ODIN - loading DLLs
« on: May 01, 2019, 07:07:20 pm »
Does ODIN know the "type" (windows vs OS2) of DLL and load both types automatically?

Meaning: if I have a windows program I have created called MYPROGRAM.EXE, and start that program using PE.EXE, can that program call functions located in DLLs compiled for OS/2 by an OS/2 compiler?

Conversely: If I have an OS/2 program, MYPROGRAM2.EXE, which is compiled for OS/2 and started the normal way (i.e from a command prompt, etc.), can that program call functions located in a Windows DLL?

Finally - if either program needs a function located in a DLL, and there is both an OS/2 type and Windows type DLL with the same name located on the LIBPATH, which one gets loaded? Or the same name (but a different type) already loaded into memory?

Setup & Installation / ODIN - System32 directory
« on: May 01, 2019, 06:48:55 pm »
Looks like ODIN is installed as part of AOS, which is great, and updated via RPM, which is also great.

However my ODIN installation on 2 AOS machines does not have an ODIN/SYSTEM32 directory.

The README and user manual both say that ODIN.INI should be located in ODIN/SYSTEM32, as well as ODCININST.EXE. I find both in USR\LIB\ODIN

So it looks like there is an ODIN tree under USR\LIB\ODIN and another ODIN tree under VAR\LIB\ODIN - but no SYSTEM32 directory anywhere. SYSTEM32 is the directory that holds DLLs common to multiple programs in Windows. Is there a substitute directory used in ODIN, or should I just manually create a SYSTEM32 directory and add it to the WINDOWSPATH?

Pages: [1] 2 3