文件操作 - sort.h
返回文件管理
返回主菜单
删除本文件
文件: /root/goaccess-1.4/src/sort.h
编辑文件内容
/** * ______ ___ * / ____/___ / | _____________ __________ * / / __/ __ \/ /| |/ ___/ ___/ _ \/ ___/ ___/ * / /_/ / /_/ / ___ / /__/ /__/ __(__ |__ ) * \____/\____/_/ |_\___/\___/\___/____/____/ * * The MIT License (MIT) * Copyright (c) 2009-2020 Gerardo Orellana <hello @ goaccess.io> * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #if HAVE_CONFIG_H #include <config.h> #endif #ifndef SORT_H_INCLUDED #define SORT_H_INCLUDED #include "commons.h" #include "parser.h" #define SORT_MAX_OPTS 11 /* See GEnum for mapping */ #define SORT_FIELD_LEN 11 + 1 /* longest metric name */ #define SORT_MODULE_LEN 15 + 1 /* longest module name */ #define SORT_ORDER_LEN 4 + 1 /* length of ASC or DESC */ /* Enumerated sorting metrics */ typedef enum GSortField_ { SORT_BY_HITS, SORT_BY_VISITORS, SORT_BY_DATA, SORT_BY_BW, SORT_BY_AVGTS, SORT_BY_CUMTS, SORT_BY_MAXTS, SORT_BY_PROT, SORT_BY_MTHD, } GSortField; /* Enumerated sorting order */ typedef enum GSortOrder_ { SORT_ASC, SORT_DESC } GSortOrder; /* Sorting of each panel, metric and order */ typedef struct GSort_ { GModule module; GSortField field; GSortOrder sort; } GSort; extern GSort module_sort[TOTAL_MODULES]; extern const int sort_choices[][SORT_MAX_OPTS];; GRawData *sort_raw_num_data (GRawData * raw_data, int ht_size); GRawData *sort_raw_str_data (GRawData * raw_data, int ht_size); const char *get_sort_field_key (GSortField field); const char *get_sort_field_str (GSortField field); const char *get_sort_order_str (GSortOrder order); int can_sort_module (GModule module, int field); int get_sort_field_enum (const char *str); int get_sort_order_enum (const char *str); int strcmp_asc (const void *a, const void *b); int cmp_ui32_asc (const void *a, const void *b); void parse_initial_sort (void); void set_initial_sort (const char *smod, const char *sfield, const char *ssort); void sort_holder_items (GHolderItem * items, int size, GSort sort); #endif
修改文件时间
将文件时间修改为当前时间的前一年
删除文件