Annotation of researchv10no/ipc/mgrs/common/log.c, revision 1.1

1.1     ! root        1: #include <sys/types.h>
        !             2: #include <stdio.h>
        !             3: #include <ipc.h>
        !             4: #include <libc.h>
        !             5: #include "defs.h"
        !             6: 
        !             7: static char buf[1024];
        !             8: static char logname[128];
        !             9: static int nolog;
        !            10: 
        !            11: openlog(mtpt)
        !            12:        char *mtpt;
        !            13: {
        !            14:        int fd;
        !            15:        char *cp;
        !            16: 
        !            17:        /* set up log file */
        !            18:        if ((cp=strrchr(mtpt, '/'))!=NULL)
        !            19:                mtpt = cp+1;
        !            20:        sprintf(logname, "/usr/ipc/log/%s", mtpt);
        !            21:        fd = open(logname, 1);
        !            22:        if (fd<0 && errno==ENOENT)
        !            23:                fd = creat(logname, 0666);
        !            24:        if (fd<0) {
        !            25:                fprintf(stderr, "cannot open log file, %s\n", logname);
        !            26:                nolog=1;
        !            27:                close(2);
        !            28:                return;
        !            29:        }
        !            30:        dup2(fd, 2);
        !            31:        close(fd);
        !            32:        fd = open("/dev/console", 1);
        !            33:        dup2(fd, 3);
        !            34:        close(fd);
        !            35: }
        !            36: 
        !            37: /* logging events */
        !            38: logevent(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
        !            39:        char *format;
        !            40: {
        !            41:        long now=time((long *)0);
        !            42:        char msg[1024];
        !            43: 
        !            44:        if(nolog)
        !            45:                return;
        !            46:        
        !            47:        sprintf(msg, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
        !            48:        sprintf(buf, "%.15s %s", ctime(&now)+4, msg);
        !            49:        lseek(2, 0L, 2);
        !            50:        write(2, buf, strlen(buf));
        !            51: }
        !            52: 
        !            53: /* logging events on both log and console */
        !            54: logconsole(format, a1, a2, a3, a4, a5, a6)
        !            55:        char *format;
        !            56: {
        !            57:        long now=time((long *)0);
        !            58:        char msg[1024];
        !            59:        int len;
        !            60: 
        !            61:        if(nolog)
        !            62:                return;
        !            63:        sprintf(msg, format, a1, a2, a3, a4, a5, a6);
        !            64:        sprintf(buf, "%.15s %s", ctime(&now)+4, msg);
        !            65:        len = strlen(buf);
        !            66:        lseek(2, 0L, 2);
        !            67:        write(2, buf, len);
        !            68:        write(3, buf, len);
        !            69: }
        !            70: 
        !            71: /* log call status */
        !            72: logstatus(msg, ip)
        !            73:        char *msg;
        !            74:        ipcinfo *ip;
        !            75: {
        !            76:        long now=time((long *)0);
        !            77: 
        !            78:        if(nolog)
        !            79:                return;
        !            80:        if(errno){
        !            81:                sprintf(buf, "%.15s %s reject %s(%s!%s) from %s %s (%d) %s\n",
        !            82:                        ctime(&now)+4, msg, (ip->flags&IPC_CREAT)?"creat":"open",
        !            83:                        ip->myname, ip->name, ip->machine, ip->user, errno,
        !            84:                        errstr);
        !            85:        } else {
        !            86:                sprintf(buf, "%.15s %s accept %s(%s!%s) from %s %s\n",
        !            87:                        ctime(&now)+4, msg, (ip->flags&IPC_CREAT)?"creat":"open",
        !            88:                        ip->myname, ip->name, ip->machine, ip->user);
        !            89:        }
        !            90:        lseek(2, 0L, 2);
        !            91:        write(2, buf, strlen(buf));
        !            92: }
        !            93: 
        !            94: logtime(msg)
        !            95:        char *msg;
        !            96: {
        !            97: #include <sys/timeb.h>
        !            98:        struct timeb tb;
        !            99: 
        !           100:        if(nolog)
        !           101:                return;
        !           102:        ftime(&tb);
        !           103:        sprintf(buf, "%d %s", tb.time*1000L + tb.millitm, msg);
        !           104:        lseek(2, 0L, 2);
        !           105:        write(2, buf, strlen(buf));
        !           106: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.