* Echoarea : RU.HUSKY (Husky-project (hpt htick fidoconfig)) * From : Dmitry Sergienko, 2:464/910.1 (14 Oct 02 16:26) * Translated to english by Stas Degteff 2:5080/102 * Note to All: If found errors, fix its please. The fidoconf library usage. First step: see fidoconf.h in detail. After this write 1st test program: --------------------- #include #include int main() { s_fidoconfig *config; /* Declare pointer to fidoconfig stricture */ config=readConfig(NULL); /* read config, parse and store it into structure */ /* ^^^^ Instead NULL may use alternate config file location */ printf("Name: %s\n", config->name); /* Use values from config structure */ disposeConfig(config); /* Free memory */ return 0; } --------------------- The huskybse and possible smapi libraries need at link program phase (such is the case now, unfortunately) The smapi library usage example. --------------------- #include #include #include int main() { struct _minf m; /* Declare structure for MSGAPI info */ HAREA area; /* Declare area structure (echoarea, netmailarea or localarea - its is unimportant) */ HMSG msg; /* Declare structure for message store */ XMSG xmsg; /* Another structure for message store */ char *text = NULL; dword textLen = 0; /* Some code for config reading skipped, see first example (below) */ m.req_version = 2; /* Set smapi version number */ /* vvvvvv config readed before this line or use alternate value/code */ m.def_zone = config->addr[0].zone; if (MsgOpenApi(&m)!= 0) { /* Open MSGAPI handler call (initialise MSGAPI) */ printf("MsgOpenApi Error.\n"); exit(1); } /* Open area handler call (initialise area, read some info from disk file) */ area = MsgOpenArea((byte *) areaName, MSGAREA_NORMAL, areaType); /* Find and open last message in area, lock file */ msg = MsgOpenMsg(area, MOPEN_RW, MsgGetHighMsg(oldArea)); /* Read message */ MsgReadMsg(msg, &xmsg, 0, textLen, (byte*)text, 0, NULL); /* Change message text */ nfree(text); text = strdup("Hello world!\r"); textLen = strlen(text)+1; /* Write changed message into messagebase (disk file) */ MsgWriteMsg(msg, 0, &xmsg, (byte*)text, textLen, textLen, 0, NULL); /* Close message: deinit handler call (flush fuffers, unlock file, release memory) */ MsgCloseMsg(msg); /* Close area: deinit handler call (close file, release memory) */ MsgCloseArea(area); /* Close MSGAPI: deinit handler call (release memory) */ MsgCloseApi(); return 0; } ---------------------