免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 背包
打印 上一主题 下一主题

[SCO UNIX] 在sco unix5.05中,如何限制用户按delete键 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-02-05 23:22 |只看该作者

在sco unix5.05中,如何限制用户按delete键

期待呀

论坛徽章:
0
12 [报告]
发表于 2003-02-05 23:33 |只看该作者

在sco unix5.05中,如何限制用户按delete键

青包,等我上班我到行里抄一段关于读卡器的程序给你,真的,别急!
我的qq是699627!

论坛徽章:
0
13 [报告]
发表于 2003-02-06 17:29 |只看该作者

在sco unix5.05中,如何限制用户按delete键

原帖由 "千禧龙" 发表:
青包,等我上班我到行里抄一段关于读卡器的程序给你,真的,别急!
我的qq是699627!
我的oicq是4455269,那个.profile文件我只打了一半,各位先看一看.等后天我上班了也把它拷过来让大家看(有的再打实在太累)

谢谢千禧龙兄弟,我等着你的佳音!

现在我将.profile文件拿出来给大家看一看:


KEYIN=0;export KEYIN;   #会不会是这个标志???
DEVE=1;export DEVE;
MY_PORT=1

TERM=ct100;export TERM;

NODENO=ALL;export NODENO;   
INFORMIXDIR=informix    #这我知道,是informix数据库的设定
INFORMIXSERVER=ic_400
DBPATH=$HOME/dbs;$HOME/frm
HELPPATH=$HOME/help;
DBDATE=Y4MD/
DBNAME=scus
B400_ENV=E
DBNLS=1
LANG=en_US.ISO08859-1
PATH=:/bin:/etc:/usr/binhome/binINFORMIXDIR/bin

export PATH SHELL HOME INFORMIXDIR INFORMIXSERVER DBPATH HELPPATH DBDATE DBNAME DBNLS LANG B400_ENV MY_PORT

LD_LIBRARY_PATH=$INFORMIXDIR/libINFORMIXDIR/lib/esqlLD_LIBRARY_PATH
export LD_LIBRARY_PATH

#网络终端标志=1 有,=其他 没有
NET_TERM=1;export NET_TERM


#启用共享内存标志=1  启用,=其他 不启用
SHARE_MEM=1;export SHARE_MEM

#公积金目录及程序
GJJ_PATH=ccb/bin;export GJJ_PATH
GJJ_EXEC=Login;export GJJ_EXEC

#=1写日志,其它不写
SQFH_LOG=0;export SQFH_LOG    #双敲复核日志
COM_LOG=0;export COM_LOG      #通信日志

#set terminal type
#eval "'uname -n':\${PWD}>;"
export PS1

if [ -z "$LOGNAME"]; then
    LOGNAME='logname'
    export LOGNAME
fi

if [ -z "$PWD"];then
    PWD=$HOME
    export PWD
fi

#if job control is enabled,set the suspend character to ^Z:
case $- in
     stty susp '^z'
   
就到这里,下面还有一大段啊!!!

论坛徽章:
0
14 [报告]
发表于 2003-02-06 19:09 |只看该作者

在sco unix5.05中,如何限制用户按delete键

关于读卡器的读写,读卡器的说明书一般都有例子,就算没有例子也是有控制码的,你找找看吧。

论坛徽章:
0
15 [报告]
发表于 2003-02-07 22:54 |只看该作者

在sco unix5.05中,如何限制用户按delete键

别让我买读卡器,大家有实例的话就拿出来!
明天又要上班了,真怀念休息的日子啊!这里谨祝大家工作愉快,事业有成!
一年到头喜羊羊,永远能够得意羊羊,还有别忘了请我吃小肥羊

论坛徽章:
0
16 [报告]
发表于 2003-02-07 23:03 |只看该作者

在sco unix5.05中,如何限制用户按delete键

我来一段实达密码键盘的读取c程序:
#include <signal.h>;
#include <stdio.h>;
#include <termio.h>;
#include <fcntl.h>;
#include <time.h>;

#define ESC                0x1B
#define CAN                24
#define DEL                0x7F
#define ERRCODE         -1
#define OKCODE                0

/*  t++++        */
#define debug                0
#define QUITKEY 0x4
#define ERRKEY        0xff
#define AUXLEAD "\033[>;"
#define AUXEND        "\033[<"
#define ABORTCHAR  4
static struct termio oterm,term;
static int star_fd,star_fd_state=0;

/*
        磁卡读写器命令
*/
//#define OPENMSR         "\033[>;\033%B" 扩展盒
#define OPENMSR         "\033[>;"
//#define CLOSEMSR        "\033%A\033[<"
#define CLOSEMSR        "\033[<"
#define MSR_RESET        "\0330"
#define MSR_ENQ         "\033j"
#define MSR_READ        "\033]"
#define MSR_READ_3        "\033T]"
#define MSR_WRID        "\033t"
#define MSR_WRID_3        "\033tA"
#define MSR_WRTAIL        "\035\033\\"
/*
        密码键盘命令
*/
#define OPENPAD         "\033[3-"
#define CLOSEPAD        "\033[3="
/*
*/
#define LNKPRN          "\033[5i"
#define EXITPRN   "\033[4i"
#define LPI          6
#define CPI          10
#define CR          0x0D
#define LF          0x0A
#define LINEUNIT  240
#define HOMEADD   2
#define PAPERLENGTH 55
#define PAPERWIDTH  80
#define OPENPRN   "\033n\033l\033.\033l\033Z"
#define PR40REST  "\033l\033&amp;40\033Q080\033Z\033M010\033<"
#define CLRERR          "\033l"
#define A_V_P          "\033L"
#define A_H_P          "\033H"
#define R_V_P          "\033I"
#define L_H_M          "\033J"
#define TOF          "\033T"
#define BOF          "\033M"
#define LINEFEED  "\033&amp;"
#define HALF_FONT "\x1cg"
#define DUBL_FONT "\x1ck"
#define IN_PAPER  "\033l\033Uq"
#define EXP_DOC   "\033l\033O"
#define NORMAL          "\x1bw\x30\x1b\x34"
#define WIDE          "\x1bw\x30\x1b\x33"
#define HIGH          "\x1b\x34\x1bw\x31"
#define WIDE_HIGH "\x1bw\x31\x1b\x33"
#define PAPERIR   "\033r%"

static int open_switch = -1;             /* not open */
static int paper_on = -1;             /* no paper */
static int lpi = LPI;                     /* 5 lpi */
static float cpi = CPI;              /* 10 cpi */
static int curlin, curch;
static int homex = 0;                     /* x home position */
static int homey = 0;                     /* y home position */
static int actpos = 0;                     /* active position */
static int charnum = 0;              /* length of printed string without CR
                                        and LF at the end of the string */
static int wide;                     /* 1:normal wide        2:double wide         */
static int font;                     /* 1:normal 2:wide 3:high 4:wide high */
/*
        DPK printer
*/
int ttyfd;
static char open_flag=0;
static int curline=0;
/*
        System para
*/
static terminited = 0;
static struct termio ORG_tm,tm;
int        t_msrwr=100;

/* +++++++++++++++++++++++++++++++++++++++++++++++++++ */

/*
        +-----------------------------------------------+
        |   II.   API functions specification for MSR        |
        +-----------------------------------------------+
*/

/* -------------------------------------------------------- */
int star_msr_init()
{
  char        buf[3],ch;
  int        flg;
        return (0);
/*
        seterm(30);
        printf("%s",OPENMSR);
        printf("%s",MSR_RESET);
*/
/*
        printf("%s",MSR_ENQ);

        if( (buf[0]=getchar()) != ESC ) {
                printf("%s",CLOSEMSR);
                reseterm();
                return(ERRCODE);
        }
        buf[1] = getchar();
        buf[2] = getchar();
        reseterm();
        printf("%s",CLOSEMSR);
        return(OKCODE);
*/
        if((star_fd=setterm(0))==-1)
                return -1;
        sendprt(OPENMSR);
        sendprt(MSR_RESET);
/*
        set_nowait(1);
        do {
                ch=getchar();
                ch&amp;=0xff;
        }
        while(ch!=0xff);
*/
        sendprt(CLOSEMSR);
        reseterm();
        return 0;
}

/* -------------------------------------------------------- */

int star_msr_read( int track,unsigned char *read_buff,int time_out)
{
int  i,j,k,len,flag,mflag;
int  l_se=260;
time_t        begin_t ,now_t;
char ch,buf[260];

        memset(buf,0,sizeof(buf));

        if((track!=2)&amp;&amp;(track!=3)) return -2;
        strcpy(buf,"\0";
        strcpy(read_buff,"\0";

        if((star_fd=setterm(0))==-1) return -4;
        sendprt(OPENMSR);
        sendprt(MSR_RESET);
        sleep(1);
        if(track==2)
        sendprt(MSR_READ);
        else
        sendprt(MSR_READ_3);
        set_nowait(0);
        time(&amp;begin_t);
        do {        ch=getchar();
                ch&amp;=0xff;
                time(&amp;now_t);
                if((now_t-begin_t)>;=time_out)
                {
                        sendprt(MSR_RESET);
                        sendprt(CLOSEMSR);
                        resetterm();
                        return -99;
                }
        } while( (ch != ESC) &amp;&amp; (ch != ABORTCHAR) );

        if( ch != ESC ){
                sendprt(MSR_RESET);
                sendprt(CLOSEMSR);
                resetterm();
                return(-3);
        }

        set_nowait(1);
        i = 0;
        buf[0] = ch;

        i++;
        if ( ( buf = getchar() ) != 's' ){
                sendprt(MSR_RESET);
                sendprt(CLOSEMSR);
                resetterm();
                return(-3);
        }
        time(&amp;begin_t);
        if(track==3)
        {
        i++;
        if ( ( buf = getchar() ) != 'A' ){
                sendprt(MSR_RESET);
                sendprt(CLOSEMSR);
                resetterm();
                return(-3);
                }
        }
        do {        i = i + 1;
                buf=getchar();
                if (buf == 0xff) i--;
                time(&amp;now_t);
                if(buf==0x7f)
                {
                        sendprt(MSR_RESET);
                        sendprt(CLOSEMSR);
                        resetterm();
                        return -98;
                }
                if((now_t-begin_t)>;=time_out)
                {
                        sendprt(MSR_RESET);
                        sendprt(CLOSEMSR);
                        resetterm();
                        return -99;
                }
        }while( (buf != 0x1c) &amp;&amp; (i<l_se) );
        sendprt(CLOSEMSR);

        buf[i+1]=0;
        if(track==2)
        {
        for(j=0;j<i+1-4;j++) read_buff[j]=buf[j+2];
        read_buff[j+1] = 0x00;
        dis_hex(buf,40);
        }
        else
        {
        for(j=0;j<i+1-5;j++) read_buff[j]=buf[j+3];
        read_buff[j] = 0x00;
        }
        resetterm();
        if(buf[track] ==DEL) return(ERRCODE);
        return(OKCODE);
}
/* -------------------------------------------------------- */

int star_msr_write( track, wrt_buff )

  int        track;
  unsigned char  *wrt_buff;
{
  char        buf[4];
  char        data[270];

        if((track!=2)&amp;&amp;(track!=3)) return -2;

        if((star_fd=setterm(0))==-1) return -4;
        strcpy(data,"\0";
        if(track==2)
        sprintf(data,"%s%s%s",MSR_WRID,wrt_buff,MSR_WRTAIL);
        else
        sprintf(data,"%s%s%s",MSR_WRID_3,wrt_buff,MSR_WRTAIL);
        sendprt(OPENMSR);
/*
        sendprt(MSR_RESET);
        sleep(1);   */
        sendprt(data);

        sendprt(MSR_ENQ);
        set_nowait(90);   
        fflush(stdin);
        fflush(stdout);
        buf[0]=getchar();
        if ( (buf[0] != ESC ) &amp;&amp; (buf[0] != ABORTCHAR) ) {
                sendprt(MSR_RESET);
                sendprt(CLOSEMSR);
                resetterm();
                return(-3);
        }
        if ( buf[0] == ABORTCHAR ) {                /* CTRL d  */
                sendprt(MSR_RESET);
                sendprt(CLOSEMSR);
                resetterm();
                return(-3);
        }

        buf[1]=getchar();
        buf[2]=getchar();
        if(track==3)
        buf[3]=getchar();
        sendprt(CLOSEMSR);
        resetterm();
/*        fflush(stdin);                */
        if(track==2)
        if(buf[2]=='q') return(ERRCODE);
        else
        if(buf[3]=='q') return(ERRCODE);
        return(OKCODE);
}
/* -------------------------------------------------------- */

int        star_msr_timeout( timeout )
        int timeout;
{
        if ( timeout<0 ) return (ERRCODE);
        t_msrwr = timeout;
        return (OKCODE);
}
/* -------------------------------------------------------- */

int        star_msr_clear()
{
        if((star_fd=setterm(0))==-1) return -4;
        sendprt(OPENMSR);
        sendprt(MSR_RESET);
        sendprt(CLOSEMSR);
        resetterm();
        return 0;
}

/* -------------------------------------------------------- */



/*
        +-----------------------------------------------+
        |   III.  API functions specification for PAD        |
        +-----------------------------------------------+
*/

/* ---------------------------------------------------------- */
#ifdef PINPADVOICE
int star_pinpad_enable(istate)
int istate;
{
        if((star_fd=setterm(0))==-1) return -1;
        sendprt(OPENPAD);
        resetterm();
        return 0;
}
#else
int star_pinpad_enable()                                /* 开密码键盘 */
{
        if((star_fd=setterm(0))==-1) return -1;
        sendprt(OPENPAD);
        resetterm();
        return 0;
}
#endif

/* ---------------------------------------------------------- */
int star_pinpad_enable2()                                /* 开密码键盘 */
{
int        i;

        fflush(stdin);
        if((star_fd=setterm(0))==-1) return -1;
/*
        for (i=0;i<10;i++) {
          getchar();
        }
*/
        sendprt(OPENPAD);
        resetterm();
        return 0;
}
#ifdef PINPADVOICE
int pass_err()
{
        return 0;
}
#endif

/* ---------------------------------------------------------- */
int star_pinpad_disable()                                /* 关密码键盘 */
{
        if((star_fd=setterm(0))==-1) return -1;
        sendprt(CLOSEPAD);
        resetterm();
        return 0;
}

/* ---------------------------------------------------------- */
int star_pinpad_read( read_buff )                        /* 读密码键盘 */
  char *read_buff;
{
        if((star_fd=setterm(0))==-1) return -1;
        sendprt(OPENPAD);
        strcpy(read_buff,"\0";
        read_pin(read_buff);
        resetterm();
        return 0;
}

star_pinpad_getch()
{
unsigned char ch;
        fflush(stdin);
        if((star_fd=setterm(0))==-1) return -1;
        sendprt(OPENPAD);
        ch=getchar();
        if(ch==
                ch=1;
        resetterm();
        return(ch);
}

read_pin(s)
char *s;
{
        int i,j,k;
        char ch0;

        set_nowait(0);
        i=0;
        ch0=getchar();
        while( ch0 !=0xd &amp;&amp; ch0 != 0xa) {         /* 确认键 */
          if(ch0<='9' &amp;&amp; ch0>;='0'){
                s=ch0;
                i++;
                s='\0';
           }
           if(ch0==0x0{                        /* 清除键 */
                i=0;
                s='\0';
           }
        ch0=getchar();
        }
        s='\0';
}
/* ------------------------------------------------------------ */


/*
        +-----------------------------------------------+
        |   I.        API functions specification for DPK        |
        +-----------------------------------------------+
*/
/*-----------------------------------------------------*/
int star_pptr_open()
{
        open_flag = 1;
        curline = 0;
        printf("\033[5i\033k\033[4i";
        return 0;
}

/*-----------------------------------------------------*/
int star_pptr_reset()
{
        printf("\033[5i";
        printf("%c",CAN);
        printf("\033b";      /* print end  */
/*
        printf("\033%%6"; */   /* default to be 1/6 inch  */
        printf("\033I";      /* set high_density printing  */
        printf("\033Y";      /* cancel underline format  */
        printf("\033>;\033]"); /* cancel horizontal,vertical entension  */
        printf("\033[4i");
        star_set_lpi(7);
        star_set_cpi(15);
        curline = 0;
        return 0;
}

/*-----------------------------------------------------*/
int star_pptr_print(buff,len)
unsigned char *buff;
int len;
{
int  i,wnum;
int  wrt_len;
char locstr[80];
char wrt_buff[512];

        if (!open_flag) return -3;  /* printer not opened yet  */
        wrt_len = strlen(buff);
        wrt_len = (wrt_len >;len) ? len: wrt_len;
        if (wrt_len >; 512) return -1;  /* buffer data greater than 512 butes */
        strncpy(wrt_buff,buff,wrt_len);
        wrt_buff[wrt_len]='\0';
        printf("\033[5i");
        printf("%s",wrt_buff);
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_pptr_close()
{
        if (!open_flag) return -2;
        open_flag = 0;
        return 0;
}

/*-----------------------------------------------------*/
int star_get_paper()
{
        return 0;
}
/*-----------------------------------------------------*/
int star_rel_paper()
{
        printf("\033[5i\014\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_set_enlarge(kind)
int kind;
{
        if (open_flag==0) return -1;
        if ((kind<1) || (kind>;5)) return -2;  /* invalid parameter  */
        printf("\033[5i");
        switch (kind)  {
                case 1: printf("\033U\033R\033[\033]");
                        break;
                case 2: printf("\033[\033]\033U");
                        break;
                case 3: printf("\033[\033U\033R");
                        break;
                case 4: printf("\033[\033U");
                        break;
                case 5: printf("\033<");
        }
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_reset_enlarge()
{
        star_set_enlarge(1);
        return 0;
}

/*-----------------------------------------------------*/
int star_skip_n_line(line)
int line;
{
int n1,n2;

        if (open_flag==0) return -1;
        if ((line<1) ||(line>;165)) return -2;
        n1 = line/10+0x30;
        n2 = line%10+0x30;
        printf("\033[5i");
        printf("\033\013%c%c",n1,n2);
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_skip_n_char(coln)
int coln;
{
int dire=3;
int n1,n2;

        if (open_flag==0) return -1;
        if (coln<0) dire=4;
        n1 = coln/256;
        n2 = coln%256;
        printf("\033[5i");
        printf("\033%%%c%c%c",dire,n1,n2);
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_move_to(top,left)
float top,left;
{
        return 0;
}

/*-----------------------------------------------------*/
int star_set_pos()
{
        return 0;
}


/*-----------------------------------------------------*/
int star_set_home(top,left)
float top,left;
{
        return 0;
}


/*-----------------------------------------------------*/
int star_set_margin(top,left,bottom,right)
int top,left,bottom,right;
{
        return 0;
}

/*-----------------------------------------------------*/
int star_set_cpi(num)
int num;
{
        if (num>;255) num=255;
        if (num==0x11) num ++;
        if (num==0x13) num --;
        printf("\033[5i");
        printf("%c%c%c",0x1c,0x24,num);
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_set_lpi(num)
int num;
{
        num = 120/num;
        if (num==0x11) num ++;
        if (num==0x13) num --;
        printf("\033[5i");
        printf("\033%%9%c%c",0x30,num);
        printf("\033[4i");
        return 0;
}

/*-----------------------------------------------------*/
int star_pptr_clear()
{
        if (open_flag==0) return -1;
        printf("\033[5i%c\033[4i",CAN);
        return 0;
}

/*-----------------------------------------------------*/


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
seterm(t)
  int t;
{
        if(!terminited){
                ioctl(0,TCGETA,&amp;ORG_tm);
                ioctl(0,TCGETA,&amp;tm);
                tm.c_lflag &amp;= (~ISIG &amp; ~ECHO &amp; ~ICANON);
                tm.c_cc[VMIN] = 0;
                tm.c_cc[VTIME] =t;
                ioctl(0,TCSETA,&amp;tm);
                terminited = 1;
                }
        else {
                reseterm();
                ioctl(0,TCGETA,&amp;ORG_tm);
                ioctl(0,TCGETA,&amp;tm);
                tm.c_lflag &amp;= (~ISIG &amp; ~ECHO &amp; ~ICANON);
                tm.c_cc[VMIN] = 0;
                tm.c_cc[VTIME] =t;
                ioctl(0,TCSETA,&amp;tm);
                terminited = 1;
        };
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
reseterm()
{
        ioctl(0,TCSETA,&amp;ORG_tm);
        terminited = 0;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


/* t ++++++   */


/* set para: must read out one char */
setterm(fstat)
int fstat;
{
        star_fd=open((char *)ttyname(1),O_RDWR|fstat);
        if(star_fd<0) return -1;
        if(ioctl(star_fd,TCGETA,&amp;term)<0) return 1;
        oterm=term;
        term.c_iflag&amp;=~IXON;
        term.c_lflag&amp;=~ECHO;
        term.c_lflag&amp;=~ICANON;
        term.c_cc[VMIN]=1;
        term.c_cc[VTIME]=0;
        term.c_cc[VQUIT]=QUITKEY;
        if(ioctl(star_fd,TCSETA,&amp;term)<0) return 1;
        return star_fd;
}

/* set time for read one char, but not read */
set_nowait(time)
{
        if(star_fd<0) return -1;
        if(ioctl(star_fd,TCGETA,&amp;term)<0) return 1;
        term.c_cc[VMIN]=0;
        term.c_cc[VTIME]=time;
        if(ioctl(star_fd,TCSETA,&amp;term)<0) return 1;
        return 0;
}

/* restore para, and close file  */
resetterm()
{
        if(star_fd<0) return -1;
        if(ioctl(star_fd,TCSETA,&amp;oterm)<0) return 1;
        close(star_fd);
        return 2;
}

/* send string to aux port  */
sendaux(s)
char *s;
{
        write(star_fd,AUXLEAD,strlen(AUXLEAD));
        write(star_fd,s,strlen(s));
        write(star_fd,AUXEND,strlen(AUXEND));
}

/* send out a string */
sendprt(s)
char *s;
{
        write(star_fd,s,strlen(s));
}

sendch(ch)
char ch;
{
        write(star_fd,ch,1);
}

void star_set_up()
{
}

/* send command into sight print */
int pro_deal()
{
        if((star_fd=setterm(0))==-1) return -2;
        entersightprt();
        return 0;
}

/* read out a char within 2 second,otherwise return 0xFF */
char t_getchar()
{
time_t ot,ct,lt;
char ch;

        ot=time(&amp;lt);
        do {
                if(read(star_fd,&amp;ch,1)!=0) break;
                ct=time(&amp;lt);
                if((ct-ot)>;2) return ERRKEY;
        } while(1);
        return ch;
}

/*
    read out "ESC * *" squene into *s
    within ti second.
        return: 0, -1
*/
int pptr_get_answer(ti,s)
int ti;
char *s;
{
        int time;
        char ch1,ch2,ch3;

        set_nowait(1);
        s[0]='\0';
        time=0;
        do{        s[0]=getchar();
                if(++time/10>;ti) return -1;
        }  while(s[0]!=0x1b);
        if(s[0]==0x1b){
                do{        s[1]=getchar();
                        if(++time/10>;ti) return -1;
                }  while(s[1]==-1);
                do{        s[2]=getchar();
                        if(++time/10>;ti) return -1;
                }  while(s[2]==-1);
                s[3]=0;
        } else return -1;
/*        fflush(stdin);           */
        return 0;
}


closeaux()
{
        write(star_fd,AUXEND,strlen(AUXEND));
}

entersightprt()
{
        write(star_fd,LNKPRN,strlen(LNKPRN));
        fflush(stdout);
}
exitsightprt()
{
        write(star_fd,EXITPRN,strlen(EXITPRN));
        fflush(stdout);
}
static int dis_hex( unsigned char *buf, int len)
{
        int i, j, line ;
        unsigned char *p, *q ;
        char str[ 30] ;

        p = buf ;
        q = buf ;
        line = len / 16 ;
        for ( i = 0 ; i < line ; i++ ) {
                printf( "HEX%07d=< ", i*16) ;
                for ( j = 0 ; j < 16 ; j++ )
                        printf( "%02x ", *p++) ;
                printf( ">; ") ;
                for ( j = 0 ; j < 16 ; j++, q++)
                        printf( "%c",(*q>;32) ? ((*q<12 ? *q :'*') :'.') ;
                printf( "\n") ;
        }
        i = len - line * 16 ;
        if ( i >; 0) {
                printf( "HEX%07d=< ", line*16) ;
                for( j = 0 ; j < i ; j++ )
                        printf( "%02x ", *p++) ;
                for( j = i ; j < 16 ; j++)
                        printf( "   ") ;
                printf( ">; ") ;
                for ( j = 0 ; j < i ; j++, q++)
                        printf( "%c",(*q>;32) ? ((*q<12 ? *q :'*') :'.') ;
                printf( "\n") ;
        }
        return( 0) ;
}

论坛徽章:
0
17 [报告]
发表于 2003-02-08 08:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
18 [报告]
发表于 2003-02-08 19:11 |只看该作者

在sco unix5.05中,如何限制用户按delete键

rom98老兄,也别太抬举我了!山外青山楼外楼,俺这里没花头!
谢谢flybirdxp兄弟的程序,我明天拿去试试!!!

还有想说一点:Xenix我的那块旧硬盘还在,但那只是查查以前数据才拿出来!
我上次到一个朋友储蓄所去,看到她那里也是用Xenix啊!正所谓系统无好坏,够用就行了!

论坛徽章:
0
19 [报告]
发表于 2003-02-08 19:34 |只看该作者

在sco unix5.05中,如何限制用户按delete键

b400用户.profile文件
请各位再看一看,到底是哪里禁止了delete键

:
#        @(#) profile 26.1 95/09/18
#
#        Copyright (C) 1990-1995 The Santa Cruz Operation, Inc.
#                All Rights Reserved.
#        The information in this file is provided for the exclusive use of
#        the licensees of The Santa Cruz Operation, Inc.  Such users have the
#        right to use, modify, and incorporate this code into other products
#        for purposes authorized by the license agreement provided they include
#        this notice and the associated copyright notice with any such product.
#        The information in this file is provided "AS IS" without warranty.
#
# .profile        -- Commands executed by a login Korn shell
#


KEYIN=1; export KEYIN;
DEVE=1; export DEVE;
MY_PORT=2                 #我在另外一个禁止掉delete键的所拷来MY_PORT的值为1,会不会是这个?我只是猜测!如果别的地方我就不知道了!(我这里谎称磁条读写器坏掉,让科技处开了delete键)

TERM=ct100; export TERM;

NODENO=ALL;export NODENO;
INFORMIXDIR=~informix
INFORMIXSERVER=ic_400
DBPATH=$HOME/dbsHOME/frm
HELPPATH=$HOME/help;
DBDATE=Y4MD/
DBNAME=scus
B400_ENV=E
DBNLS=1
LANG=en_US.ISO8859-1
PATH=:/bin:/etc:/usr/binHOME/binINFORMIXDIR/bin

export PATH SHELL HOME INFORMIXDIR INFORMIXSERVER DBPATH HELPPATH DBDATE DBNAME DBNLS LANG B400_ENV MY_PORT


LD_LIBRARY_PATH=$INFORMIXDIR/libINFORMIXDIR/lib/esqlLD_LIBRARY_PATH
export LD_LIBRARY_PATH

#----------------------------------------------
# 网络终端标志  =1 有 , =其他  没有
NET_TERM=1;        export NET_TERM                        # 启用网络终端
#----------------------------------------------

#----------------------------------------------
# 启用共享内存标志 =1 启用, 其他不启用
#----------------------------------------------
SHARE_MEM=1;        export SHARE_MEM
#----------------------------------------------

#公积金目录及程序
GJJ_PATH=~ccb/bin        ; export GJJ_PATH
GJJ_EXEC=Login                ; export GJJ_EXEC

#--------------------------------------------------------------------------
# =1 写日志,其它不写
#--------------------------------------------------------------------------
SQFH_LOG=0                ; export SQFH_LOG # 双敲复核日志
COM_LOG=0                ; export COM_LOG  # 通信日志     
#--------------------------------------------------------------------------

#--- B400配置文件路径及文件名:暂时未用  -----
CFGDIR=$HOME/cfg;        export CFGDIR
CFGFILE=b400_env.E;        export CFGNAME
#--------------------------------------------


# set terminal type
#eval `tset  -mct100:ct100 -m:scoansi -r -s  -Q `

#echo $TERM;
PS1="`uname -n`:\${PWD}>;"
export PS1

if [ -z "$LOGNAME" ]; then
        LOGNAME=`logname`                # name of user who logged in
        export LOGNAME
fi

MAIL=/usr/spool/mail/$LOGNAME                # mailbox location
export MAIL

if [ -z "$PWD" ]; then
        PWD=$HOME                        # assumes initial cwd is HOME
        export PWD
fi

if [ -f $HOME/.kshrc -a -r $HOME/.kshrc ]; then
        ENV=$HOME/.kshrc                # set ENV if there is an rc file
        export ENV
fi

# If job control is enabled, set the suspend character to ^Z (control-z):
case $- in
*m*)        stty susp '^z'
        ;;
esac

set -o ignoreeof                        # don't let control-d logout

TTYNAME=`tty`
echo 'LOGNAME='$LOGNAME 'TTY='$TTYNAME

case $TTYNAME in                        # include command number in prompt
/dev/ttyp*)  stty ispeed 115200 ospeed 115200>;/dev/null
        stty -g>;/dev/null;;
esac

case         $TTYNAME         in                       
/dev/tty[01][0-9])
                PS1="\${PWD}>;" ;;
        *)       
                PS1="\${PWD}>;";;
esac
export PS1

/usr/bin/prwarn                        # issue a warning if password due to expire
alias rm="rm -i"
alias isql="isql -s"
alias df="df -kP"
alias cls="clear"

# RCIS environments
PATH=$PATH:/usr/rcisnbjh/bin
HUSHLOGIN=FALSE
SYBASE=/home/b400/client
SINOCFG=/home/b400
BINHOME=/usr/rcisnbjh/bin
DSQUERY=rcis
PRINTER=default
RCSHOME=/home/b400/rcis
FORMS=X
SYBASE_TIMEOUT=60
LOGIN_TIMEOUT=30
MON_INTERVAL=5
export PATH HUSHLOGIN SYBASE SINOCFG BINHOME DSQUERY PRINTER RCSHOME FORMS SYBASE_TIMEOUT LOGIN_TIMEOUT MON_INTERVAL


# SINO enviroments
PATH=$PATHSYBASESYBASE/binSYBASE/install:/usr/sinopcn/bin:.
SINNETNO="XXXXX"
TERMTYPE="STAR560"
SINO_PATH=/usr/sinopcn/bin
SINO_EXEC=./sinopcn
export PATH SYBASE DSQUERY SINNETNO TERMTYPE RCSHOME SINO_EXEC SINO_PATH
cp /home/b400/bin/btbenv /home/b400/etc/
btbmsg&amp;

论坛徽章:
0
20 [报告]
发表于 2003-02-08 20:04 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP