build.com
上传用户:ycwykj01
上传日期:2007-01-04
资源大小:1819k
文件大小:3k
源码类别:

网络编程

开发平台:

Unix_Linux

  1. $! Program: Portable c-client build for VMS
  2. $!
  3. $! Author: Mark Crispin
  4. $! Networks and Distributed Computing
  5. $! Computing & Communications
  6. $! University of Washington
  7. $! Administration Building, AG-44
  8. $! Seattle, WA  98195
  9. $! Internet: MRC@CAC.Washington.EDU
  10. $!
  11. $! Date: 2 August 1994
  12. $! Last Edited: 11 June 1997
  13. $!
  14. $! Copyright 1997 by the University of Washington
  15. $!
  16. $!  Permission to use, copy, modify, and distribute this software and its
  17. $! documentation for any purpose and without fee is hereby granted, provided
  18. $! that the above copyright notice appears in all copies and that both the
  19. $! above copyright notice and this permission notice appear in supporting
  20. $! documentation, and that the name of the University of Washington not be
  21. $! used in advertising or publicity pertaining to distribution of the software
  22. $! without specific, written prior permission. This software is made available
  23. $! "as is", and
  24. $! THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  25. $! WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  26. $! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  27. $! NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  28. $! INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  29. $! LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  30. $! (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  31. $! WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  32. $!
  33. $!
  34. $!  Change this to your local timezone.  This value is the number of minutes
  35. $! east of UTC (formerly known as GMT).  Sample values: -300 (US east coast),
  36. $! -480 (US west coast), 540 (Japan), 60 (western Europe).
  37. $!  VAX C's HELP information says that you should be able to use gmtime(), but
  38. $! it returns 0 for the struct.  ftime(), you ask?  It, too, returns 0 for a
  39. $! timezone.  Nothing sucks like a VAX!
  40. $!
  41. $ CC_TIMEZONE=-480
  42. $!
  43. $! CC options
  44. $!
  45. $ CC_PREF = "/OPTIMIZE/INCLUDE=[]"
  46. $ CC_PREF = CC_PREF + "/DEFINE=net_getbuffer=NET_GETBUF"
  47. $ CC_PREF = CC_PREF + "/DEFINE=LOCALTIMEZONE='CC_TIMEZONE'"
  48. $!
  49. $! Determine TCP type
  50. $!
  51. $ TCP_TYPE = "VMSN" ! default to none
  52. $ IF F$LOCATE("MULTINET", P1) .LT. F$LENGTH(P1)
  53. $ THEN
  54. $ DEFINE SYS MULTINET_ROOT:[MULTINET.INCLUDE.SYS],sys$library
  55. $ DEFINE NETINET MULTINET_ROOT:[MULTINET.INCLUDE.NETINET]
  56. $ DEFINE ARPA MULTINET_ROOT:[MULTINET.INCLUDE.ARPA]
  57. $ TCP_TYPE = "VMSM" ! Multinet
  58. $ LINK_OPT = ",LINK_MNT/OPTION"
  59. $ ENDIF
  60. $ IF F$LOCATE("NETLIB", P1) .LT. F$LENGTH(P1)
  61. $ THEN
  62. $ DEFINE SYS SYS$LIBRARY: ! normal .H location
  63. $ DEFINE NETINET SYS$LIBRARY:
  64. $ DEFINE ARPA SYS$LIBRARY:
  65. $ LINK_OPT = ",LINK_NLB/OPTION"
  66. $ TCP_TYPE = "VMSL" ! NETLIB
  67. $ ENDIF
  68. $ IF TCP_TYPE .EQS. "VMSN"
  69. $ THEN
  70. $ DEFINE SYS SYS$LIBRARY: ! normal .H location
  71. $ DEFINE NETINET SYS$LIBRARY:
  72. $ DEFINE ARPA SYS$LIBRARY:
  73. $ LINK_OPT = ""
  74. $ ENDIF
  75. $!
  76. $ COPY TCP_'TCP_TYPE'.C TCP_VMS.C;
  77. $!
  78. $ COPY OS_VMS.H OSDEP.H;
  79. $ SET VERIFY
  80. $ CC'CC_PREF' MAIL
  81. $ CC'CC_PREF' IMAP4R1
  82. $ CC'CC_PREF' SMTP
  83. $ CC'CC_PREF' NNTP
  84. $ CC'CC_PREF' POP3
  85. $ CC'CC_PREF' DUMMYVMS
  86. $ CC'CC_PREF' RFC822
  87. $ CC'CC_PREF' MISC
  88. $ CC'CC_PREF' OS_VMS
  89. $ CC'CC_PREF' SMANAGER
  90. $ CC'CC_PREF' FLSTRING
  91. $ CC'CC_PREF' NEWSRC
  92. $ CC'CC_PREF' NETMSG
  93. $ CC'CC_PREF' UTF8
  94. $ CC'CC_PREF' MTEST
  95. $!
  96. $ LINK MTEST,OS_VMS,MAIL,IMAP4R1,SMTP,NNTP,POP3,DUMMYVMS,RFC822,MISC,UTF8,-
  97. SMANAGER,FLSTRING,NEWSRC,NETMSG,SYS$INPUT:/OPTION'LINK_OPT',LINK/OPTION
  98. PSECT=_CTYPE_,NOWRT
  99. $ SET NOVERIFY
  100. $ EXIT