do_beacon()
void do_beacon()
do_beacon(){	int i;	unsigned char *p;	if(bclen == 0) return;          /* nothing to do! */	if(bclen < 0) {                 /* build the id string */		p = bcbuf;		*p++ = ('I'<<1);		*p++ = ('D'<<1);		*p++ = (' '<<1);		*p++ = (' '<<1);		*p++ = (' '<<1);		*p++ = (' '<<1);		*p++ = '\0' | 0x60;             /* SSID, set reserved bits */		for(i=0;i<6;i++)*p++=mycallsign[i];		*p++ = mycallsign[6] | 0x60;    /* ensure reserved bits are set */		SETLAST(bcbuf+7);               /* Set the E bit -- last address */		*p++ = 0x03;                    /* Control field -- UI frame */		*p++ = 0xf0;                    /* Protocol ID -- 0xf0 is no protocol */		strcpy(p, bc_text);       /* add the text field */		bclen = 16 + strlen(bc_text);   /* adjust the length nicely */	}	if(loglevel>2)dump_ax25frame("do_beacon: ", bcbuf, bclen);	stats.kiss_beacon_outs++;	send_kiss(0, bcbuf, bclen);}