Update and clean Tomato RAF files
[tomato.git] / release / src / router / nginx / src / os / unix / ngx_solaris_init.c
blobf2f3600dab18cf74fbb6782c096c599df3a65322
2 /*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) Nginx, Inc.
5 */
8 #include <ngx_config.h>
9 #include <ngx_core.h>
12 char ngx_solaris_sysname[20];
13 char ngx_solaris_release[10];
14 char ngx_solaris_version[50];
17 static ngx_os_io_t ngx_solaris_io = {
18 ngx_unix_recv,
19 ngx_readv_chain,
20 ngx_udp_unix_recv,
21 ngx_unix_send,
22 #if (NGX_HAVE_SENDFILE)
23 ngx_solaris_sendfilev_chain,
24 NGX_IO_SENDFILE
25 #else
26 ngx_writev_chain,
28 #endif
32 ngx_int_t
33 ngx_os_specific_init(ngx_log_t *log)
35 if (sysinfo(SI_SYSNAME, ngx_solaris_sysname, sizeof(ngx_solaris_sysname))
36 == -1)
38 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
39 "sysinfo(SI_SYSNAME) failed");
40 return NGX_ERROR;
43 if (sysinfo(SI_RELEASE, ngx_solaris_release, sizeof(ngx_solaris_release))
44 == -1)
46 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
47 "sysinfo(SI_RELEASE) failed");
48 return NGX_ERROR;
51 if (sysinfo(SI_VERSION, ngx_solaris_version, sizeof(ngx_solaris_version))
52 == -1)
54 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
55 "sysinfo(SI_SYSNAME) failed");
56 return NGX_ERROR;
60 ngx_os_io = ngx_solaris_io;
62 return NGX_OK;
66 void
67 ngx_os_specific_status(ngx_log_t *log)
70 ngx_log_error(NGX_LOG_NOTICE, log, 0, "OS: %s %s",
71 ngx_solaris_sysname, ngx_solaris_release);
73 ngx_log_error(NGX_LOG_NOTICE, log, 0, "version: %s",
74 ngx_solaris_version);