2 * Copyright (C) 2015, 2016, 2017 "IoT.bzh"
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 /* other definitions --------------------------------------------------- */
21 // Note: because of a bug in libmagic MAGIC_DB NULL should not be used for default
22 #define MAX_ALIAS 10 // max number of aliases
24 #define DEFLT_CNTX_TIMEOUT 3600 // default Client Connection Timeout
25 #define DEFLT_API_TIMEOUT 20 // default Plugin API Timeout [0=NoLimit for Debug Only]
26 #define DEFLT_CACHE_TIMEOUT 100000 // default Static File Chache [Client Side Cache 100000~=1day]
27 #define DEFLT_AUTH_TOKEN NULL // expect for debug should == NULL
28 #define DEFLT_HTTP_TIMEOUT 15 // Max MibMicroHttp timeout
30 #define CTX_NBCLIENTS 10 // allow a default of 10 authenticated clients
32 struct afb_config_item
34 struct afb_config_item *previous;
39 // main config structure
42 char *console; // console device name (can be a file or a tty)
44 char *ldpaths; // list of plugins directories
45 char *rootdir; // base dir for files
46 char *roothttp; // directory for http files
47 char *rootbase; // Angular HTML5 base URL
48 char *rootapi; // Base URL for REST APIs
49 char *sessiondir; // where to store mixer session files
50 char *token; // initial authentication token [default NULL no session]
51 int background; // run in backround mode
52 int readyfd; // a #fd to signal when ready to serve
55 int cntxTimeout; // Client Session Context timeout
56 int nbSessionMax; // max count of sessions
57 int mode; // mode of listening
60 struct afb_config_item *items;
64 } aliasdir[MAX_ALIAS]; // alias mapping for icons,apps,...