예제 #1
0
static int
alert_call(layer4_t *l4)
{
	if (l4->sdata)
		do_alert(l4->sdata);
	return(0);
}
예제 #2
0
파일: xcardinfo.c 프로젝트: lumag/pcmcia-cs
static void do_reset(Widget w, XtPointer client, XtPointer call)
{
  FILE *f;
  pid_t pid;

  f = fopen(pidfile, "r");
  if (f == NULL) {
    do_alert("Could not open pidfile: %s", strerror(errno));
    return;
  }
  if (fscanf(f, "%d", &pid) != 1) {
    do_alert("Could not read pidfile");
    return;
  }
  if (kill(pid, SIGHUP) != 0)
    do_alert("Could not signal cardmgr: %s", strerror(errno));
}
예제 #3
0
static int
route_call(layer4_t *l4)
{
	layer4_t	*newl4;

	fprintf(stderr, "%s: msn ", __FUNCTION__);
	display_NR_IE(l4->msn);
	fprintf(stderr, "%s:  nr ", __FUNCTION__);
	display_NR_IE(l4->nr);
	if (l4->usednr->typ == NR_TYPE_INTERN) {
		newl4 = get_free_channel(&kern_if, -1, NULL);
		if (!newl4) {
			l4->cause_loc = CAUSE_LOC_PNET_LOCUSER;
			l4->cause_val = CAUSE_USER_BUSY;
			l4->progress = PROGRESS_TONE;
			if_link(l4->nst, man_down, MAN_CLEAR_CALL | REQUEST,
				l4->channel, 0, NULL, 0);
			return(0);
		}
		l4->sdata = newl4;
		l4->rdata = newl4;
		newl4->sdata = l4;
		newl4->rdata = l4;
		l4->sbuf = &newl4->rbuf;
		newl4->sbuf = &l4->rbuf;
		newl4->msn[0] = l4->usednr->len +1;
		newl4->msn[1] = 0x81;
		memcpy(&newl4->msn[2], l4->usednr->nr, l4->usednr->len);
		if (l4->msn[0])
			memcpy(newl4->nr, l4->msn, l4->msn[0] + 1);
		newl4->l1_prot = ISDN_PID_L1_B_64TRANS;
		if_link(newl4->nst, man_down, MAN_SETUP | REQUEST,
			newl4->channel, 0, NULL, 0);
	} else if (l4->usednr->typ == NR_TYPE_AUDIO) {
		l4->sdata = NULL;
		l4->rdata = NULL;
		strcpy(l4->display,"connect to AUDIO");
		do_connect(l4);
		l4->display[0] = 0;
		deactivate_bchannel(l4);
		setup_bchannel_rawdev(l4);
		activate_bchannel(l4);
	} else if (l4->usednr->typ == NR_TYPE_VOIP) {
		l4->sdata = NULL;
		l4->rdata = NULL;
		sprintf(l4->display,"calling %s", l4->usednr->name);
		do_alert(l4);
		sprintf(l4->display,"connect to %s", l4->usednr->name);
		do_connect(l4);
		l4->display[0] = 0;
		deactivate_bchannel(l4);
		setup_bchannel_rawdev(l4);
		activate_bchannel(l4);
	}
	return(0);
}
예제 #4
0
파일: xcardinfo.c 프로젝트: lumag/pcmcia-cs
static void do_menu(Widget w, XtPointer client, XtPointer call)
{
  int ret = 0;

  int i, item;
  i = (int)client / 10;
  item = (int)client % 10;
  switch (item) {
  case 1:
    /* do_opts(); */ break;
  case 2:
    ret = ioctl(st[i].fd, DS_RESET_CARD); break;
  case 3:
    ret = ioctl(st[i].fd, DS_SUSPEND_CARD); break;
  case 4:
    ret = ioctl(st[i].fd, DS_RESUME_CARD); break;
  case 5:
    ret = ioctl(st[i].fd, DS_EJECT_CARD); break;
  case 6:
    ret = ioctl(st[i].fd, DS_INSERT_CARD); break;
  }
  if (ret != 0)
    do_alert("ioctl() operation failed: %s", strerror(errno));
} /* do_menu */
예제 #5
0
파일: example3.c 프로젝트: e8johan/oaesis
int main ()
{

        apid = appl_init();		        /* return application ID */
        if (apid == -1)
		return(FALSE);		        /* unable to use AES */

	if (!rsrc_load("./example3.rsc"))
	{
		form_alert(1, "[3][Unable to load resource][ Abort ]");
		return(FALSE);		/* unable to load resource	*/
	}

        rsrc_gaddr(R_STRING, SYSALERT, &sys_alert);
        rsrc_gaddr(R_STRING, RESALERT, &reset_alert);
        rsrc_gaddr(R_STRING, IGNALERT, &ignore_alert);
        rsrc_gaddr(R_STRING, RETALERT, &retry_alert);

        do_alert();                             /* Test what we want to test */

        appl_exit();
        return(TRUE);			        /* ID returned successfully */
	
}