chat
struct chat *c = (struct chat *)v;
chat_SetTimeout(struct chat *c)
struct chat *c = descriptor2chat(d);
struct chat *c = descriptor2chat(d);
chat_UpdateLog(struct chat *c, int in)
struct chat *c = descriptor2chat(d);
struct chat *c = descriptor2chat(d);
chat_Init(struct chat *c, struct physical *p)
chat_Setup(struct chat *c, const char *data, const char *phone)
chat_Finish(struct chat *c)
chat_Destroy(struct chat *c)
ExpandString(struct chat *c, const char *str, char *result, int reslen, int cr)
static char *ExpandString(struct chat *, const char *, char *, int, int);
struct chat *c = (struct chat *)v;
chat_Pause(struct chat *c, u_long load)
((d)->type == CHAT_DESCRIPTOR ? (struct chat *)(d) : NULL)
extern void chat_Init(struct chat *, struct physical *);
extern int chat_Setup(struct chat *, const char *, const char *);
extern void chat_Finish(struct chat *);
extern void chat_Destroy(struct chat *);
chat_Finish(&dl->chat);
memset(&dl->chat, '\0', sizeof dl->chat); /* Force buf{start,end} reset */
chat_Init(&dl->chat, dl->physical);
chat_Finish(&dl->chat);
if (!chat_Setup(&dl->chat, dl->cfg.script.logout, NULL))
if (!chat_Setup(&dl->chat, dl->cfg.script.dial,
if (!chat_Setup(&dl->chat, dl->cfg.script.login, NULL))
if (!chat_Setup(&dl->chat, dl->cfg.script.hangup, NULL))
result = descriptor_UpdateSet(&dl->chat.desc, r, w, e, n);
switch (dl->chat.state) {
if (!chat_Setup(&dl->chat, dl->cfg.script.hangup, NULL))
if (!chat_Setup(&dl->chat, dl->cfg.script.hangup, NULL))
return descriptor_IsSet(&dl->chat.desc, fdset);
descriptor_Read(&dl->chat.desc, bundle, fdset);
if ((result = descriptor_Write(&dl->chat.desc, bundle, fdset)) == -1) {
if (!chat_Setup(&dl->chat, dl->cfg.script.hangup, NULL))
if (!chat_Setup(&dl->chat, dl->cfg.script.logout, NULL))
memset(&dl->chat, '\0', sizeof dl->chat); /* Force buf{start,end} reset */
chat_Init(&dl->chat, dl->physical);
memset(&dl->chat, '\0', sizeof dl->chat); /* Force buf{start,end} reset */
chat_Init(&dl->chat, dl->physical);
chat_Finish(&dl->chat); /* Gotta blat the timers ! */
chat_Destroy(&dl->chat);
struct chat chat; /* For bringing the link up & down */