⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 env_vms.c

📁 mgcp协议源代码。支持多种编码:g711
💻 C
字号:
/* * Program:	VMS environment routines * * Author:	Mark Crispin *		Networks and Distributed Computing *		Computing & Communications *		University of Washington *		Administration Building, AG-44 *		Seattle, WA  98195 *		Internet: MRC@CAC.Washington.EDU * * Date:	2 August 1994 * Last Edited:	15 June 2000 * * Copyright 2000 by the University of Washington * *  Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appears in all copies and that both the * above copyright notice and this permission notice appear in supporting * documentation, and that the name of the University of Washington not be * used in advertising or publicity pertaining to distribution of the software * without specific, written prior permission.	This software is made available * "as is", and * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */static char *myUserName = NIL;	/* user name */static char *myLocalHost = NIL;	/* local host name */static char *myHomeDir = NIL;	/* home directory name */static char *myNewsrc = NIL;	/* newsrc file name */#include "patch.c"		/* include wildcard pattern matcher *//* Environment manipulate parameters * Accepts: function code *	    function-dependent value * Returns: function-dependent return value */void *env_parameters (long function,void *value){  void *ret = NIL;  switch ((int) function) {  case SET_USERNAME:    myUserName = cpystr ((char *) value);  case GET_USERNAME:    ret = (void *) myUserName;    break;  case SET_HOMEDIR:    myHomeDir = cpystr ((char *) value);  case GET_HOMEDIR:    ret = (void *) myHomeDir;    break;  case SET_LOCALHOST:    myLocalHost = cpystr ((char *) value);  case GET_LOCALHOST:    ret = (void *) myLocalHost;    break;  case SET_NEWSRC:    if (myNewsrc) fs_give ((void **) &myNewsrc);    myNewsrc = cpystr ((char *) value);  case GET_NEWSRC:    if (!myNewsrc) {		/* set news file name if not defined */      char tmp[MAILTMPLEN];      sprintf (tmp,"%s:.newsrc",myhomedir ());      myNewsrc = cpystr (tmp);    }    ret = (void *) myNewsrc;    break;  }  return ret;} /* Write current time * Accepts: destination string *	    optional format of day-of-week prefix *	    format of date and time */static void do_date (char *date,char *prefix,char *fmt){  time_t tn = time (0);  struct tm *t = localtime (&tn);  int zone = LOCALTIMEZONE + (t->tm_isdst ? 60 : 0);  if (prefix) {			/* want day of week? */    sprintf (date,prefix,days[t->tm_wday]);    date += strlen (date);	/* make next sprintf append */  }				/* output the date */  sprintf (date,fmt,t->tm_mday,months[t->tm_mon],t->tm_year+1900,	   t->tm_hour,t->tm_min,t->tm_sec,zone/60,abs (zone) % 60);}/* Write current time in RFC 822 format * Accepts: destination string */void rfc822_date (char *date){  do_date (date,"%s, ","%d %s %d %02d:%02d:%02d %+03d%02d");}/* Write current time in internal format * Accepts: destination string */void internal_date (char *date){  do_date (date,NIL,"%02d-%s-%d %02d:%02d:%02d %+03d%02d");}/* Return my user name * Returns: my user name */char *myusername (){  struct stat sbuf;  char tmp[MAILTMPLEN];  if (!myUserName) {		/* get user name if don't have it yet */    myUserName = cpystr (cuserid (NIL));    myHomeDir = cpystr ("SYS$LOGIN");  }  return myUserName;}/* Return my home directory name * Returns: my home directory name */char *myhomedir (){  if (!myHomeDir) myusername ();/* initialize if first time */  return myHomeDir;}/* Determine default prototype stream to user * Accepts: type (NIL for create, T for append) * Returns: default prototype stream */MAILSTREAM *default_proto (long type){  return NIL;			/* no default prototype */}/* Emulator for BSD syslog() routine * Accepts: priority *	    message *	    parameters */void syslog (int priority,const char *message,...){}/* Emulator for BSD openlog() routine * Accepts: identity *	    options *	    facility */void openlog (const char *ident,int logopt,int facility){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -