imapext-2007

annotate src/osdep/dos/os_dbw.c @ 0:ada5e610ab86

imap-2007e
author yuuji@gentei.org
date Mon, 14 Sep 2009 15:17:45 +0900
parents
children
rev   line source
yuuji@0 1 /* ========================================================================
yuuji@0 2 * Copyright 1988-2006 University of Washington
yuuji@0 3 *
yuuji@0 4 * Licensed under the Apache License, Version 2.0 (the "License");
yuuji@0 5 * you may not use this file except in compliance with the License.
yuuji@0 6 * You may obtain a copy of the License at
yuuji@0 7 *
yuuji@0 8 * http://www.apache.org/licenses/LICENSE-2.0
yuuji@0 9 *
yuuji@0 10 *
yuuji@0 11 * ========================================================================
yuuji@0 12 */
yuuji@0 13
yuuji@0 14 /*
yuuji@0 15 * Program: Operating-system dependent routines -- MS-DOS (B&W) version
yuuji@0 16 *
yuuji@0 17 * Author: Mark Crispin
yuuji@0 18 * Networks and Distributed Computing
yuuji@0 19 * Computing & Communications
yuuji@0 20 * University of Washington
yuuji@0 21 * Administration Building, AG-44
yuuji@0 22 * Seattle, WA 98195
yuuji@0 23 * Internet: MRC@CAC.Washington.EDU
yuuji@0 24 *
yuuji@0 25 * Date: 11 April 1989
yuuji@0 26 * Last Edited: 30 August 2006
yuuji@0 27 */
yuuji@0 28
yuuji@0 29 /* Private function prototypes */
yuuji@0 30
yuuji@0 31 #include "tcp_dos.h" /* must be before osdep includes tcp.h */
yuuji@0 32 #include "mail.h"
yuuji@0 33 #include "osdep.h"
yuuji@0 34 #include <time.h>
yuuji@0 35 #include <errno.h>
yuuji@0 36 #include <fcntl.h>
yuuji@0 37 #include <sys\stat.h>
yuuji@0 38 #include <sys\timeb.h>
yuuji@0 39 #include "misc.h"
yuuji@0 40 #include "stdlib.h"
yuuji@0 41 #include "bwtcp.h"
yuuji@0 42
yuuji@0 43
yuuji@0 44 #include "fs_dos.c"
yuuji@0 45 #include "ftl_dos.c"
yuuji@0 46 #include "nl_dos.c"
yuuji@0 47 #include "env_dos.c"
yuuji@0 48 #undef write
yuuji@0 49 #define read soread
yuuji@0 50 #define write sowrite
yuuji@0 51 #define close soclose
yuuji@0 52 #include "tcp_dos.c"
yuuji@0 53
yuuji@0 54
yuuji@0 55 /* Return my local host name
yuuji@0 56 * Returns: my local host name
yuuji@0 57 */
yuuji@0 58
yuuji@0 59 char *mylocalhost (void)
yuuji@0 60 {
yuuji@0 61 char *s;
yuuji@0 62 if (!myLocalHost) { /* known yet? */
yuuji@0 63 /* get local host name from DISPLAY env var */
yuuji@0 64 if (!((s = getenv ("DISPLAY")) || (s = getenv ("display")))) {
yuuji@0 65 mm_log ("Environment variable 'DISPLAY' is not set", ERROR);
yuuji@0 66 s = "random-pc";
yuuji@0 67 }
yuuji@0 68 myLocalHost = cpystr (s);
yuuji@0 69 }
yuuji@0 70 return myLocalHost;
yuuji@0 71 }
yuuji@0 72
yuuji@0 73
yuuji@0 74 /* Look up host address
yuuji@0 75 * Accepts: pointer to pointer to host name
yuuji@0 76 * socket address block
yuuji@0 77 * Returns: non-zero with host address in socket, official host name in host;
yuuji@0 78 * else NIL
yuuji@0 79 */
yuuji@0 80
yuuji@0 81 long lookuphost (char **host,struct sockaddr_in *sin)
yuuji@0 82 {
yuuji@0 83 char *s = *host; /* in case of error */
yuuji@0 84 sin->sin_addr.s_addr = rhost (host);
yuuji@0 85 if (sin->sin_addr.s_addr == -1) {
yuuji@0 86 *host = s; /* error, restore old host name */
yuuji@0 87 return NIL;
yuuji@0 88 }
yuuji@0 89 *host = cpystr (*host); /* make permanent copy of name */
yuuji@0 90 return T; /* success */
yuuji@0 91 }

UW-IMAP'd extensions by yuuji