亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? startefs.c

?? OTP是開放電信平臺的簡稱
?? C
字號:
#include "string.h"#include "ose.h"#include "efs.h"#include "efs.sig"#include "efs_err.h"#include "errno.h"#include "stdio.h"#include "unistd.h"#include "malloc.h"#include "dbgprintf.h"#ifdef USE_OSEDEF_H#include "osedef.h"#endif#include "outfmt.h"#ifdef SHELL_SERUNIT#ifdef SHELL_SERNAME#include "fm.sig"#include "login.sig"#else#error SHELL_SERUNIT is defined, but not SHELL_SERNAME!#endif#endif#ifdef USE_FFX#define FFXDISKNAME "/ffx"#endif#ifdef USE_HOSTFM#define HOSTDISKNAME "/host"#endif#define TTYNAME     "/tty"#define DISKNAME    "/ram"#define FLASH       "/flash"#define STR(x) #x#define STRSTR(x) STR(x)struct Passwd{  const char *username;  const char *password;  OSUSER userid;  OSENTRYPOINT *shell;  const char *home_dir;};static int dfprintf(FILE *stream, const char *format, ...);OS_PROCESS(no_shell){  printf("Shell logins not allowed.\n");  exit(0);}OS_PROCESS(no_telnet){  printf("Telnet logins not allowed.\n");  exit(0);}Booleanvalidate_user(const char *username,	      const char *password,	      const char *termname,	      OSUSER * user,	      OSENTRYPOINT ** shell){  extern OSENTRYPOINT ose_shell;  static const struct Passwd table[] =  {    /* For now the userid must be zero. */    /* username, password, userid, entrypoint, homedir. */    {  "",       "",       0,      ose_shell,  "/ram"},    {  "olli",   "bolli",  0,      ose_shell,  "/ram"},    {  "ftp",    "",       0,      no_shell,   "/ram"},    {  "anonymous","",     0,      no_shell,   "/ram"},    {  NULL,      NULL,    0,      NULL,       NULL}  };  unsigned i;  dfprintf(stdout, "Shell session terminal: %s\r\n", termname);  for (i = 0; table[i].username != NULL; i++)  {    if (strcmp(table[i].username, username) == 0 &&	(password == NULL || strcmp(table[i].password, password) == 0))    {      if (strcmp(username, "root") == 0 && strncmp(termname, "/telnet", 7) == 0)      {	*user = table[i].userid;	*shell = no_telnet;      }      else      {	*user = table[i].userid;	*shell = table[i].shell;      }      if (table[i].home_dir != NULL)      {	chdir(table[i].home_dir);      }      return True;    }  }  return False;}OS_PROCESS(start_efs){  EfsStatus status;  int err;  extern OSENTRYPOINT ose_ramdisk;  PROCESS ramdisk_;#ifdef SHELL_SERUNIT  /* Mount serial port and open it as stdin/stdout/stderr. */  {    int fd0, fd1, fd2;    status = efs_mount(TTYNAME, "confm", "serdd",		       "unit=0,hwname=" SHELL_SERNAME ",hwunit=" STRSTR(SHELL_SERUNIT) ",baudrate=9600");    if (status != EFS_SUCCESS)    {      error2(OSE_EFS_STARTEFS_EMOUNT_TTY_FAILED, (OSERRCODE) status);    }    fd0 = open(TTYNAME, O_RDONLY, 0);    fd1 = open(TTYNAME, O_WRONLY | O_TEXT, 0);    fd2 = open(TTYNAME, O_WRONLY | O_TEXT, 0);    if (fd0 != 0 || fd1 != 1 || fd2 != 2)    {      error2(OSE_EFS_STARTEFS_EOPEN_TTY_FAILED, (OSERRCODE) errno);    }  }  /* stdio enabled! */#endif#ifdef USE_RAMDISK  ramdisk_ = create_process(OS_PRI_PROC,			    "ose_ramdisk",			    ose_ramdisk,			    1000, 9, 0, 0, NULL, 0, 0);  efs_clone(ramdisk_);  start(ramdisk_);  /* Mount and format the RAM disk */  {    status = efs_mount(DISKNAME, "extfat", "ramdisk", "unit=0");    if (status != EFS_SUCCESS)    {      err = efs_status_to_errno(status);      dfprintf(stderr, "(mount) STATUS = %d, STATUS->ERRNO = %d, ERRNO = %d\r\n", status, err, errno);      error2(OSE_EFS_STARTEFS_EMOUNT_DISK_FAILED, (OSERRCODE) status);    }    if (chdir(DISKNAME) != 0)    {      /*       * A chdir() failiure means that the disk is not formatted.       * Please remember that a FAT12 formated disk can contain       * a maximum of 4078 availiable clusters. A FAT 16 formated       * disk can contain a maximum of 65518 available clusters.       * I.e adjust clustersize after the size of the partition.       */      status = efs_format(DISKNAME, "clustersize=128", False); /* 128*512 = 64k */              if (status != EFS_SUCCESS)      {	err = efs_status_to_errno(status);		dfprintf(stderr, "(format) STATUS = %d, STATUS->ERRNO = %d, ERRNO = %d\r\n", 		 status, err, errno);		error2(OSE_EFS_STARTEFS_EFORMAT_DISK_FAILED, (OSERRCODE) status);      }      /* Change current directory to the RAM disk, this will be       inherited by the login and shell processes if not FFX is used */      if (chdir(DISKNAME) != 0)      {	 error2(OSE_EFS_STARTEFS_ECHDIR_DISK_FAILED, (OSERRCODE) errno);      }    }  }#endif#ifdef FLASH_ENABLED  /* Mount and format the flash disk. */  {    status = efs_mount(FLASH, "extfat", "amd_29f032B", "unit=0");    err = efs_status_to_errno(status);    dfprintf(stdout, "STATUS = %d, STATUS->ERRNO = %d, ERRNO = %d\r\n", status, err, errno);        if (status != EFS_SUCCESS)    {      error2(OSE_EFS_STARTEFS_EMOUNT_DISK_FAILED, (OSERRCODE) status);    }    if (chdir(FLASH) != 0)    {      /* chdir failed means disk is not formatted. */      status = efs_format(FLASH, "quick, clustersize=1", False);      if (status != EFS_SUCCESS)      {	error2(OSE_EFS_STARTEFS_EFORMAT_DISK_FAILED, (OSERRCODE) status);      }    }    /* Change current directory to the flash disk, this will be       inherited by the login and shell processes. */    if (chdir(FLASH) != 0)    {      error2(OSE_EFS_STARTEFS_ECHDIR_DISK_FAILED, (OSERRCODE) errno);    }  }#endif  #ifdef USE_FFX  /* Mount and format the FFX disk. */  {    status = efs_mount(FFXDISKNAME, "extfat", "ffxddb", "unit=0");    if (status != EFS_SUCCESS)    {      error2(OSE_EFS_STARTEFS_EMOUNT_DISK_FAILED, (OSERRCODE) status);    }    if (chdir(FFXDISKNAME) != 0)    {      /* chdir failed means disk is not formatted. */      status = efs_format(FFXDISKNAME, "quick, clustersize=1", False);      if (status != EFS_SUCCESS)      {	error2(OSE_EFS_STARTEFS_EFORMAT_DISK_FAILED, (OSERRCODE) status);      }    }    /* Change current directory to the FFX disk, this will be       inherited by the login and shell processes. */    if (chdir(FFXDISKNAME) != 0)    {      error2(OSE_EFS_STARTEFS_ECHDIR_DISK_FAILED, (OSERRCODE) errno);    }  }  #endif  #ifdef USE_HOSTFM  /* Mount and format the HostFM disk (only soft kernels) */  {    status = efs_mount(HOSTDISKNAME, "hostfm", "/", "unit=0");    if (status != EFS_SUCCESS)    {      error2(OSE_EFS_STARTEFS_EMOUNT_DISK_FAILED, (OSERRCODE) status);    }     if (chdir(HOSTDISKNAME) != 0)    {      error2(OSE_EFS_STARTEFS_ECHDIR_DISK_FAILED, (OSERRCODE) errno);    }  }#endif#ifdef USE_MY_TIME_SRV  {    extern void set_clock(void);    dfprintf(stdout, "\r\nReading time from host...\r\n");    /* needs time_server to be running on host */    set_clock();  }#endif#ifdef SHELL_SERUNIT  /* Spawn the login process in the same block (main). */  {          extern OSENTRYPOINT ose_login;    PROCESS login_;        login_ = create_process(OS_BG_PROC,			    "ose_login",			    ose_login,			    2000,			    (OSPRIORITY) 0,			    (OSTIME) 0,			    (PROCESS) 0,			    NULL,			    (OSVECTOR) 0,			    (OSUSER) 0);    efs_clone(login_);    start(login_);    sendLoginInit(0, login_);  }    /* All initialisations done, clean up and hibernate. */  close(0);  close(1);  close(2);#endif    stop(current_process());}static int dfprintf(FILE *stream, const char *format, ...) {  int res;  char buf[200];  va_list va;#ifdef USE_DEBUG_PRINTF    va_start(va, format);  vsnprintf(buf, sizeof(buf), format, va);  dbgprintf(buf);  va_end(va);#endif  va_start(va, format);  res = vfprintf(stream, format, va);  va_end(va);  return res;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女优制服丝袜电影| 亚洲444eee在线观看| 依依成人精品视频| 精品亚洲国内自在自线福利| av不卡一区二区三区| 日韩欧美第一区| 亚洲动漫第一页| 99久久精品费精品国产一区二区| 日韩精品一区在线观看| 亚洲二区视频在线| 99久久久无码国产精品| 欧美精品一区二区久久久| 首页亚洲欧美制服丝腿| 色系网站成人免费| 欧美国产日本视频| 激情欧美日韩一区二区| 91精品国产一区二区| 天天综合天天做天天综合| 色呦呦国产精品| 亚洲天堂精品在线观看| 一本久久a久久免费精品不卡| 在线播放中文一区| 一区二区三区日韩精品| 99久久婷婷国产综合精品| 国产欧美精品一区二区色综合 | 六月丁香综合在线视频| 欧美色图第一页| 亚洲码国产岛国毛片在线| 高清国产一区二区| 中文字幕欧美国产| 成人深夜在线观看| 国产精品国产馆在线真实露脸| 国产精品一区二区无线| 久久亚洲综合av| 国产乱码字幕精品高清av| 91精品国产福利在线观看 | 免费xxxx性欧美18vr| 日本高清成人免费播放| 一区二区三区中文字幕电影 | 色婷婷亚洲综合| 综合久久国产九一剧情麻豆| 91小视频免费观看| 亚洲自拍偷拍欧美| 911精品国产一区二区在线| 视频在线在亚洲| 亚洲视频香蕉人妖| 99精品黄色片免费大全| 亚洲综合免费观看高清在线观看| 一本大道久久a久久综合| 亚洲专区一二三| 欧美久久一区二区| 蜜乳av一区二区三区| 26uuu国产电影一区二区| 国产不卡在线一区| 亚洲精品国产一区二区精华液 | 欧美制服丝袜第一页| 亚洲综合色在线| 欧美一区二区在线不卡| 国模冰冰炮一区二区| 中文字幕亚洲精品在线观看| 欧洲中文字幕精品| 精品一区二区免费看| 国产精品久久久一本精品| 欧美午夜不卡视频| 激情综合色综合久久综合| 国产精品白丝在线| 欧美一区二区美女| 日韩精品色哟哟| 成人免费视频视频在线观看免费| 日韩毛片在线免费观看| 欧美老女人第四色| 国产成人在线免费观看| 一区二区三区精品在线| 欧美成人精精品一区二区频| 成人黄色免费短视频| 天天色图综合网| 国产嫩草影院久久久久| 欧美日韩国产综合视频在线观看| 国内精品久久久久影院色| 尤物av一区二区| 精品sm捆绑视频| 欧美少妇bbb| 欧美日韩在线播放三区四区| 国产成人在线免费| 免费xxxx性欧美18vr| 亚洲天堂av老司机| 久久亚区不卡日本| 欧美伦理视频网站| 91偷拍与自偷拍精品| 韩日av一区二区| 亚洲chinese男男1069| 国产精品天天看| 日韩美女在线视频| 欧美少妇性性性| 色就色 综合激情| 成人激情黄色小说| 国产精品亚洲第一| 经典三级一区二区| 天天综合日日夜夜精品| 亚洲美腿欧美偷拍| 中文字幕欧美一区| 国产日韩av一区| 欧美精品一区二区三区久久久| 欧美日韩亚洲综合在线| 91污在线观看| 色综合婷婷久久| 9i看片成人免费高清| 丁香另类激情小说| 福利电影一区二区| 国产一区二区三区四区五区入口 | 欧美一区二区成人| 色哟哟一区二区| 91免费版pro下载短视频| 成人免费黄色在线| 成人黄色av网站在线| 成人精品视频一区| 不卡av免费在线观看| 日韩女优毛片在线| 日韩午夜av电影| 日韩欧美成人一区二区| 精品国产一区二区精华| 日韩情涩欧美日韩视频| 欧美一级高清大全免费观看| 欧美一区二区精品久久911| 欧美一区二区黄色| 久久日韩粉嫩一区二区三区| 久久久精品免费免费| 国产精品妹子av| 亚洲视频一区在线| 亚洲国产日韩av| 免费在线观看一区二区三区| 精品亚洲aⅴ乱码一区二区三区| 久久精品国产亚洲aⅴ| 国产精品77777竹菊影视小说| 成人晚上爱看视频| 欧美综合一区二区三区| 91精品国产一区二区三区| 久久网这里都是精品| 国产精品萝li| 亚洲h动漫在线| 国产一区二区三区四| 91色在线porny| 欧美一二三四区在线| 欧美国产日韩在线观看| 亚洲成av人片www| 狠狠狠色丁香婷婷综合激情| 不卡欧美aaaaa| 欧美精品久久久久久久多人混战| 久久综合一区二区| 亚洲少妇30p| 秋霞午夜av一区二区三区| 国产成人精品免费网站| 日本精品一区二区三区高清| 日韩免费高清av| 亚洲精品视频在线观看免费| 日本不卡一二三| 9色porny自拍视频一区二区| 欧美精品在线观看播放| 日本一区二区三区dvd视频在线| 亚洲一二三四久久| 国产.欧美.日韩| 欧美精品国产精品| 欧美激情在线观看视频免费| 亚洲成人综合网站| voyeur盗摄精品| 精品国产91亚洲一区二区三区婷婷| 国产精品久久777777| 美美哒免费高清在线观看视频一区二区| 国产91精品久久久久久久网曝门 | av不卡一区二区三区| 精品国产不卡一区二区三区| 尤物视频一区二区| 丁香六月综合激情| 日韩精品影音先锋| 香港成人在线视频| 色天天综合色天天久久| 国产丝袜美腿一区二区三区| 免费精品视频最新在线| 91福利在线播放| 国产精品理论片在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 91国产福利在线| 亚洲欧美区自拍先锋| 不卡一二三区首页| 国产天堂亚洲国产碰碰| 国产一二三精品| 日韩视频免费直播| 日韩国产欧美在线视频| 欧美性受xxxx黑人xyx性爽| 中文字幕永久在线不卡| 成人网页在线观看| 中文欧美字幕免费| 成人午夜私人影院| 日本一区二区综合亚洲| 国产91精品一区二区麻豆网站| 久久久久久电影| 国产成人精品影院| 国产三级欧美三级日产三级99| 国产综合久久久久久久久久久久| 精品日韩一区二区|