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

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

?? sites.h

?? 站點映像程序
?? H
字號:
/*    sitecopy, for managing remote web sites.   Copyright (C) 1999, Joe Orton <joe@orton.demon.co.uk>                                                                        This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.     This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.     You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*//* TODO: * - Make the 'remote' and 'local' file state more general, *   allow for permissions being being different etc etc. *   Necessary for more accurate synchronization. * - The 'driver' and 'driver_options' thing is all a bit crap. *   I'm not sure how to do this better, ideas welcome. */#ifndef SITES_H#define SITES_H#include "config.h"#include <time.h>#include "common.h"#include "protocol.h"extern const struct proto_driver ftp_driver;#ifdef USE_DAVextern const struct proto_driver dav_driver;#endif /* USE_DAV */#define MAXASCII 20#define PERMSMODE(site)					\(site->perms==sitep_ignore?"Ignored":			\ (site->perms==sitep_exec?"Maintained for executables":	\  "Always maintained")					\    )#define SYMLINKSMODE(site)				\(site->symlinks==sitesym_ignore?"Ignored":		\ (site->symlinks==sitesym_maintain?"Maintained":	\  "Followed")						\    )/* Unimplemented function of protocol driver */#define SITE_UNIMPL 931/* Return codes for site_update *//* updated okay */#define SITE_OK 0 /* could not resolve hostname */#define SITE_LOOKUP 1 /* could not connect to remote host */#define SITE_CONNECT 2/* there were some errors when updating */#define SITE_ERRORS 3/* Could not authenticate user on server */#define SITE_AUTH 4#define SITE_FAILED 5struct site_file_t;struct site_t;enum file_diff {    file_unchanged, /* Remote file is same as local file */    file_changed, /* File has changed locally, and should be uploaded */    file_new, /* File is new locally, and should be uploaded */    file_deleted,  /* File deleted locally, and should be deleted remotely */    file_moved /* File has been moved locally, should be moved remotely */};/* Valid file permissions mirroring values */enum site_perm_modes {    sitep_ignore, /* Ignore file permissions */    sitep_exec, /* Maintain execute permissions */    sitep_all /* Maintain all permissions */};/* Valid symlink handling modes */enum site_symlink_modes {    sitesym_ignore,    sitesym_follow,    sitesym_maintain};/* Protocol modes */enum site_protocol_modes {    siteproto_ftp,    siteproto_http};struct exclude_t {    char *pattern;    bool haspath;    struct exclude_t *prev;    struct exclude_t *next;};/* A filename is made up of three parts:   The site root path, the directory, and the name.   eg, a remote file:   /html/mainsite/subdir/another/file.html   [--site root--][--directory--][-name--]   site root = "html/mainsite/"   directory = "subdir/another/"   name = "file.html"   A directory MUST NOT include a leading slash but MUST include a   trailing slash, except in the special case of a file in the site   root directory, in which case the directory part will be   zero-length.   Within a given site, the site roots are the same for all files locally   and remotely. The site roots may be 0-length, eg. for FTP sites where   the home (login) directory is the site root directory.   Note that a directory is also classed as any other 'file'.      For convenience, the site_file_t structure contains four other properties   which are *directly* derived from the three properties, and the site root:     - The 'full' local filename     - The 'full' remote filename     - The 'relative' local filename     - The 'relative' remote filename      The 'full' filenames are:      site root + directory + file name   The 'relative' filenames are:      "/" + directory + filename     The 'relative' filenames for displaying to users.   The 'full' filenames are for communicating with the server and use   with the local file system.   The site_assignnames() function fills the full_* and rel_* members.   Splitting the directory from the filename is a legacy of the   'rename' misfeature, where remote filenames could be different   from local filenames.   *** Site Roots ***      The root directories are stored as three members of site_t.      ->foo_root, ->foo_root_user, ->foo_root_isrel.   (where foo is remote or local)   ->foo_root_user is what the user enters as the root in the   rcfile. This may have a ~/ prefix to indicate the root is to   be taken relative to the login directory. This is translated   into a usable version, in ->foo_root. foo_roo_isrel is true   if this is a relative directory (i.e., ->foo_root_user has   a ~/ prefix).   Example:       ->local_root_user = "~/html/mysite/"       ->local_root = "/home/ego/html/mysite/"       ->local_root_isrel = true;       ->remote_root_user = "/mydir/"       ->remote_root = "/mydir/"       ->remote_root_isrel = false;*/struct site_file_t {    enum file_diff diff;    bool dir; /* This is a directory */    bool link; /* This is a link */    bool isascii; /* This is an ASCII file rather than a binary one */    char *directory; /* the directory, relative to site root */    char *filename; /* the remote name */    /* The following two are computed from the above three for     * simplicity, and are the FULL remote and local file names */    char *full_remote;    char *full_local;     /* These are for convenience, and is directory cat'ed with filename */    char *rel_local;    char *rel_remote;    struct site_file_t *old; /* the item before it was moved */    time_t localtime; /* the local last mod time of the file */    time_t remotetime; /* the remote last mod time of the file */    off_t localsize; /* the local file size */    off_t remotesize; /* the remote file size */    mode_t mode; /* the permissions */    bool updated; /* whether the remote file has been updated according		   * to the diff setting */    bool marked; /* whether the file is marked to be updated or not */    char *remotelink; /* the remote target of the link */        char *locallink; /* the local target of the link */    /* Linked list nodes */    struct site_file_t *next;    struct site_file_t *prev;};/* This represents a site */struct site_t {    char *name; /* symbolic name for site */    char *url; /* URL for site - used by flatlist mode */    /* TODO: for 0.8.0, change these to two proto_host_t structures */    char *server; /* server name */    int port; /* server port */    char *username; /* username to log in to server */    char *password; /* password for ditto */    char *proxy_server; /* proxy server name */    int proxy_port; /* proxy server port */    char *proxy_username; /* username for proxy auth */    char *proxy_password; /* password for ditto */    enum site_protocol_modes protocol;    const struct proto_driver *driver; /* the protocol driver routines */    /* ugh - protocol specific options here */    bool ftp_pasv_mode;    bool http_no_expect;    bool http_limit;    /*  UNUSED currently:    bool http_expect_continue;    bool http_persistent; */    char *remote_root; /* root directory of site on server */    char *remote_root_user; /* what the user gave/sees as the remote root */    bool remote_isrel; /* is the remote root dir relative to login dir? (~/) */    char *local_root; /* root directory of site locally */    char *local_root_user; /* what the user gave/sees as the remote root */    bool local_isrel; /* is the local root directory relative to home dir */    char *infofile;  /* local storage file in ~/.sitecopy/  */    /* Options for the site */    enum site_perm_modes perms; /* permissions maintenance mode */    enum site_symlink_modes symlinks; /* symlink handline mode */    bool nodelete;    bool checkmoved;    bool nooverwrite;    /* Linked list of excludes */    struct exclude_t *excludes;    char *ascii[MAXASCII];    int numascii;    /* array of renames */    struct name_mapping_t *renames;    struct site_file_t *files; /* list of files */    struct site_file_t *files_tail; /* end of the list */    /* Some useful counts for the files */    int numnew; /* number of new files */    int numchanged; /* number of changed files */    int numdeleted; /* number of deleted files */    int nummoved; /* number of moved files */    int numunchanged; /* number of unchanged files */        size_t totalnew; /* total file size of new files */    size_t totalchanged; /* total file size of changed files */    bool is_different; /* whether the remote site is different from the			* local site */    bool use_this; /* whether the site is being operated on - handy		    * for the console FE */    struct site_t *next;    struct site_t *prev;};/* The list of all sites as read from the rcfile */extern struct site_t *all_sites;/* This updates the files information for the given site - both the * local and remote ones. Returns 0 on success, or non-zero on failure */int site_readfiles( struct site_t * );/* This marks remote files as updated locally */void site_catchup( struct site_t * );/* This writes the remote files list back to the file. * Returns 0 on success or -1 on failure. */int site_writefiles( struct site_t * );/* Initialize the site - pretend there are NO files held remotely */void site_initialize( struct site_t * );/* Update the remote site. * Only files with marked==true will be updated if onlymarked == true. * WARNING: DO NOT USE onlymarked==true LIGHTLY. You will mess the * Returns one of: *  SITE_OK	  If the site was updated successfully *  SITE_AUTH     If the user could not be authenticated on the server *  SITE_LOOKUP   If the hostname could not be resolved *  SITE_CONNECT  Could not connect to remote server *  SITE_ERRORS   Were errors while updating remote site */int site_update( struct site_t *site, bool onlymarked );/* site_keepgoing: *  If true, then site_update will not give up if remote *  directories cannot be created etc. */extern bool site_keepgoing;/* Finds a site with the given name, and returns a pointer to it. * If no site of given name is found, returns NULL */struct site_t *site_find( const char *sitename );/* Syncronizes the local site with the remote copy. * Returns: *  SITE_OK       if the synch was completed *  SITE_AUTH     If the user could not be authenticated on the server *  SITE_LOOKUP   If the hostname could not be resolved *  SITE_CONNECT  Could not connect to remote server *  SITE_ERRORS   if there were errors while completing the synch * fe_synch_* will be called during the synchronize. */int site_synch( struct site_t *the_site );/* Updates the files listing from the remote site. * Returns: *  SITE_OK       if fetch went okay *  SITE_UNIMPL   if fetch mode is not implemented for the driver *  SITE_AUTH     If the user could not be authenticated on the server *  SITE_LOOKUP   If the hostname could not be resolved *  SITE_CONNECT  Could not connect to remote server *  SITE_FAILED   if it failed. * fe_fetch_found() will be called for each file that is found * in the fetch */int site_fetch( struct site_t *the_site );/* Destroys all the files... use before doing a second * site_readfiles on a site. */void site_destroy( struct site_t *the_site );/* Outputs the flat listing style output for the given site * to the given stream */void site_flatlist( FILE *f, struct site_t *the_site );/* Returns a pseudo-URL for the given site, in a statically allocated * memory location which will be overwritten by subsequent calls to * the function. (-> NOT thread-safe) */const char *site_pseudourl( struct site_t *the_site );#endif /* SITES_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合久久久| 亚洲精品亚洲人成人网| 97久久精品人人做人人爽| 亚洲成人一二三| 国产精品嫩草影院av蜜臀| 欧美一级一区二区| 91视频免费播放| 国内外精品视频| 亚洲一卡二卡三卡四卡五卡| 中文字幕欧美日韩一区| 日韩一区二区不卡| 欧美在线一区二区三区| av激情亚洲男人天堂| 精品一区二区三区久久久| 亚洲一本大道在线| 亚洲欧美日韩系列| 国产精品嫩草久久久久| 久久理论电影网| 日韩欧美黄色影院| 欧美日韩一区二区欧美激情| 91香蕉视频在线| 丁香激情综合五月| 国产麻豆精品久久一二三| 免费看日韩a级影片| 亚洲国产一区二区三区青草影视| 国产精品不卡在线| 国产日韩成人精品| 国产午夜精品理论片a级大结局| 日韩一区二区在线观看视频播放| 欧美日韩免费观看一区三区| 91啪九色porn原创视频在线观看| 国产成人免费在线观看| 国产一区二区三区久久久| 麻豆极品一区二区三区| 七七婷婷婷婷精品国产| 视频一区欧美精品| 日韩精品一二三区| 石原莉奈在线亚洲二区| 婷婷久久综合九色综合绿巨人| 亚洲国产精品一区二区尤物区| 亚洲午夜成aⅴ人片| 亚洲一区二区精品视频| 亚洲国产综合色| 亚洲第一会所有码转帖| 日韩国产成人精品| 久久精品国产秦先生| 天天免费综合色| 裸体在线国模精品偷拍| 国产曰批免费观看久久久| 国产麻豆精品在线| 成人福利视频网站| 91成人免费在线视频| 欧美日韩五月天| 日韩精品一区二区在线观看| 精品欧美黑人一区二区三区| 久久综合精品国产一区二区三区 | 欧美成人精品3d动漫h| 制服丝袜一区二区三区| 精品国产精品网麻豆系列| 久久久噜噜噜久久中文字幕色伊伊| 久久在线观看免费| 国产精品美女久久久久久2018 | 亚洲最新视频在线观看| 亚洲成av人在线观看| 麻豆精品在线观看| 成人精品视频.| 在线免费观看日韩欧美| 日韩欧美一区二区视频| 国产女人aaa级久久久级| 亚洲欧美日韩一区二区| 天天影视网天天综合色在线播放| 久久国产精品区| 成人蜜臀av电影| 欧美精品一二三区| 久久久www成人免费无遮挡大片 | 亚洲一区二区av电影| 久久精品久久精品| 豆国产96在线|亚洲| 欧日韩精品视频| 日韩三级中文字幕| 亚洲女厕所小便bbb| 免费成人在线观看| 国产盗摄女厕一区二区三区| 欧洲国内综合视频| 精品国产91久久久久久久妲己 | 国产aⅴ精品一区二区三区色成熟| 97精品视频在线观看自产线路二| 欧美一区二区三区色| 久久综合色之久久综合| 亚洲欧美另类图片小说| 久久不见久久见中文字幕免费| www.欧美日韩| 日韩限制级电影在线观看| 国产精品国产三级国产a| 午夜精品一区二区三区电影天堂| 国产精品99久久不卡二区| 精品视频在线免费看| 亚洲国产精品99久久久久久久久| 亚洲福利视频导航| 成人国产亚洲欧美成人综合网| 7777精品久久久大香线蕉| 日韩美女精品在线| 国内不卡的二区三区中文字幕| 欧美体内she精视频| 国产精品麻豆一区二区| 另类调教123区 | 3d动漫精品啪啪1区2区免费| 中文字幕亚洲不卡| 国产激情一区二区三区四区| 欧美男生操女生| 亚洲欧美国产77777| 国产激情视频一区二区三区欧美 | 91在线视频观看| 久久久久久一级片| 日韩电影在线观看网站| 欧美天堂一区二区三区| 亚洲精品伦理在线| av激情成人网| 国产精品久久三区| 国产成人精品免费视频网站| 欧美精品一区二区三| 日韩不卡一二三区| 精品视频一区二区不卡| 一区二区三区精密机械公司| 99在线热播精品免费| 中文一区在线播放| 高清不卡一区二区在线| 国产三级精品三级在线专区| 国产综合色视频| 精品国产不卡一区二区三区| 美女视频黄 久久| 日韩一级免费观看| 蜜桃久久久久久久| 日韩亚洲欧美高清| 久久99蜜桃精品| 精品国产区一区| 国产精品一区二区男女羞羞无遮挡 | 久久精品噜噜噜成人av农村| 91精品国产91久久久久久一区二区 | 91精品国产91综合久久蜜臀| 日产欧产美韩系列久久99| 欧美一区2区视频在线观看| 日韩一区欧美二区| 日韩欧美国产1| 精品制服美女丁香| 国产亚洲自拍一区| 国产91综合一区在线观看| 国产精品视频九色porn| 久久久久久综合| 欧美色综合影院| 中文字幕中文在线不卡住| 麻豆成人综合网| 欧美草草影院在线视频| 国产麻豆日韩欧美久久| 国产精品欧美一级免费| 91亚洲大成网污www| 午夜欧美一区二区三区在线播放| 欧美日韩性生活| 国内久久婷婷综合| 中文字幕成人av| 在线观看成人小视频| 日韩精品一级二级| 国产午夜亚洲精品不卡| 色综合久久88色综合天天免费| 亚洲美女电影在线| 在线观看91av| 国产在线一区二区综合免费视频| 欧美激情一区二区在线| 91久久精品一区二区三| 日韩电影在线一区二区| 亚洲国产精品成人综合色在线婷婷| 91蜜桃免费观看视频| 日日骚欧美日韩| 国产欧美日本一区视频| 欧美视频一区二区在线观看| 久久99精品一区二区三区| 中文字幕亚洲精品在线观看| 日韩一区二区三区四区五区六区| 国产xxx精品视频大全| 亚洲国产一区二区三区青草影视| 精品奇米国产一区二区三区| 色悠久久久久综合欧美99| 久久99精品国产.久久久久| 亚洲青青青在线视频| 日韩欧美一级片| 欧美在线看片a免费观看| 国内外成人在线| 午夜电影一区二区三区| 久久久久久免费| 欧美老女人在线| 99re成人在线| 国产成人午夜高潮毛片| 日本三级亚洲精品| 一区二区三区日本| 欧美国产日韩精品免费观看| 欧美一区二区视频在线观看2022| 白白色 亚洲乱淫| 国产精品资源站在线| 偷拍一区二区三区| 亚洲自拍偷拍av|