Category : Files from Magazines
Archive   : DDJ9210.ZIP
Filename : NLM_CS.ASC

Output of file : NLM_CS.ASC contained in archive : DDJ9210.ZIP
by Michael Day

Example 1: A record's two-part structure

typedef struct recordHeader {
unsigned long status;
unsigned long offset;
unsigned long hashkey;

unsigned long recordNumber;
unsigned long transactionNumber;
unsigned char key[128];
} rHeader;
typedef struct recordData {
time_t creationTime;
time_t lastReferenceTime;
time_t lastUpdateTime;
unsigned char nodeAddress[10];
unsigned long objectID;
unsigned char data[128];
} rData;
typedef struct record {
rHeader header;
rData data;
} rec;

Example 2: Short and long IPX packets

typedef struct ipxheader {
WORD checkSum;
WORD length;
BYTE transportControl;
BYTE packetType;
LONG destNet;
BYTE destNode[6];
WORD destSocket;
LONG sourceNet;
BYTE sourceNode[6];
WORD sourceSocket;
typedef struct shortPacket {
WORD responseCode;
BYTE operation;
rHeader header;
} sPacket;
typedef struct longPacket {
WORD responseCode;
BYTE operation;
rec record;
} lPacket;

Example 3: Event control block (ECB) structure.

typedef struct fragment {
void far *fragAddress; // DOS version. All pointers
WORD fragSize; // are NEAR for an NLM
} ECBFragment;
typedef struct ecb { // DOS version. NLM version
void far *linkAddress; // is slightly different.
void far *ESRAddress;
BYTE inUseFlag;
BYTE completionCode;
WORD socket;
BYTE IPXWorkspace[4];
BYTE driverWorkspace[12];
BYTE immediateAddress[6];
WORD fragCount;
ECBFragment fragList[2];

  3 Responses to “Category : Files from Magazines
Archive   : DDJ9210.ZIP
Filename : NLM_CS.ASC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: