├── run ├── bin └── sqlite3 ├── lib ├── libsqlite3.a ├── libsqlite3.so ├── libsqlite3.so.0 ├── libsqlite3.so.0.8.6 ├── pkgconfig │ └── sqlite3.pc └── libsqlite3.la ├── pthread_sqlite.c ├── pthread_sqlite.h ├── README.md ├── Makefile ├── link_list.h ├── dota_cache.h ├── sqlite_link_list.h ├── pthread_camera.c ├── link_list.c ├── pthread_buzzer.c ├── dota_cache.c ├── pthread_infrared.c ├── pthread_uart_cmd.c ├── LICENSE ├── sem.h ├── pthread_heart_jump.c ├── pthread_led.c ├── data_global.c ├── pthread_refresh.c ├── sqlite_link_list.c ├── pthread_transfer.c ├── pthread_client_send.c ├── dota_cache_test.c ├── pthread_client_receive.c ├── data_global.h ├── pthread_client_request.c ├── pthread_sms.c ├── share └── man │ └── man1 │ └── sqlite3.1 ├── main.c ├── pthread_analysis.c ├── include └── sqlite3ext.h └── tags /run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/run -------------------------------------------------------------------------------- /bin/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/bin/sqlite3 -------------------------------------------------------------------------------- /lib/libsqlite3.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/lib/libsqlite3.a -------------------------------------------------------------------------------- /lib/libsqlite3.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/lib/libsqlite3.so -------------------------------------------------------------------------------- /pthread_sqlite.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/pthread_sqlite.c -------------------------------------------------------------------------------- /pthread_sqlite.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/pthread_sqlite.h -------------------------------------------------------------------------------- /lib/libsqlite3.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/lib/libsqlite3.so.0 -------------------------------------------------------------------------------- /lib/libsqlite3.so.0.8.6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HowieXue/Linux_Gateway-ioT/HEAD/lib/libsqlite3.so.0.8.6 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Linux codes 4 | 5 | ======= 6 | # Linux物联网网关(多线程实现) 7 | Linux多线程方式实现嵌入式网关Server。 8 | 应用于物联网嵌入式项目 9 | 包括参数数据解析、协议转换、Socket收发、Sqlite、Uart、Camera等操作&UI界面。 10 | 11 | (bin里有编译好的sqlite3(6410) lib里有库文件编译用。) 12 | 13 | -------------------------------------------------------------------------------- /lib/pkgconfig/sqlite3.pc: -------------------------------------------------------------------------------- 1 | # Package Information for pkg-config 2 | 3 | prefix=/home/linux/dota_workdir/fun/sqltest 4 | exec_prefix=${prefix} 5 | libdir=${exec_prefix}/lib 6 | includedir=${prefix}/include 7 | 8 | Name: SQLite 9 | Description: SQL database engine 10 | Version: 3.7.3 11 | Libs: -L${libdir} -lsqlite3 12 | Libs.private: -ldl -lpthread 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | #CC=gcc 2 | CC=arm-none-linux-gnueabi-gcc 3 | AFLAGS=-Wall -c -g 4 | LDFLAGS= -lpthread 5 | #LDFLAGS= -lpthread 6 | OBJS=main.o data_global.o pthread_transfer.o pthread_client_send.o link_list.o 7 | 8 | run:$(OBJS) 9 | $(CC) -o $@ $^ $(LDFLAGS) 10 | $(OBJS):%.o:%.c 11 | $(CC) $(AFLAGS) $< -o $@ 12 | 13 | .PHONY:clean 14 | clean: 15 | rm *.o run #warehouse.db 16 | 17 | -------------------------------------------------------------------------------- /link_list.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIST_QUEUE_H____ 2 | #define __LIST_QUEUE_H____ 3 | #include "data_global.h" 4 | 5 | typedef struct msg_pack 6 | { 7 | char msg_type; 8 | char text[27]; 9 | }link_datatype; 10 | 11 | typedef struct _node_ 12 | { 13 | link_datatype data; 14 | struct _node_ *next; 15 | }linknode, *linklist; 16 | 17 | extern linklist CreateEmptyLinklist (); 18 | extern int EmptyLinklist (linklist h); 19 | extern linklist GetLinknode (linklist h); 20 | extern int InsertLinknode (link_datatype x); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /dota_cache.h: -------------------------------------------------------------------------------- 1 | #ifndef __DOTA_CACHE_H__ 2 | #define __DOTA_CACHE_H__ 3 | 4 | #include 5 | #include 6 | 7 | typedef void* dota_cache_data; 8 | 9 | typedef struct _dota_node_ 10 | { 11 | dota_cache_data data; 12 | struct _dota_node_ *next; 13 | }dota_cache_node, *dota_cache_list; 14 | 15 | extern dota_cache_list CreateEmptyCacheList (); 16 | extern int EmptyCacheList (dota_cache_list); 17 | extern dota_cache_list GetCacheNode (dota_cache_list, dota_cache_list *); 18 | extern int InsertCacheNode (dota_cache_list *, dota_cache_data); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /sqlite_link_list.h: -------------------------------------------------------------------------------- 1 | #ifndef __SQLITE_LIST_QUEUE_H____ 2 | #define __SQLITE_LIST_QUEUE_H____ 3 | #include "data_global.h" 4 | 5 | #if 0 6 | typedef struct msg_pack 7 | { 8 | char msg_type; 9 | char text[27]; 10 | }link_datatype; 11 | //typedef int link_datatype; 12 | #endif 13 | 14 | typedef struct _snode_ 15 | { 16 | struct sqlite_operation data; 17 | struct env_info_clien_addr data_link; 18 | int storageNum; 19 | int goodsKinds; 20 | struct _snode_ *next; 21 | }slinknode, *slinklist; 22 | 23 | extern slinklist sqlite_CreateEmptyLinklist (); 24 | extern int sqlite_EmptyLinklist (slinklist h); 25 | extern slinklist sqlite_GetLinknode (slinklist h); 26 | extern int sqlite_InsertLinknode (int x, struct env_info_clien_addr y, 27 | int storageNum_l, int goodsKinds_l); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /pthread_camera.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | 3 | extern char dev_camera_mask; 4 | extern int dev_camera_fd; 5 | 6 | extern pthread_mutex_t mutex_camera; 7 | 8 | extern pthread_cond_t cond_camera; 9 | 10 | void *pthread_camera (void *arg) 11 | { 12 | unsigned char picture = 0; 13 | #if 1 14 | if ((dev_camera_fd = open (DEV_CAMERA, O_RDWR | O_NOCTTY | O_NDELAY)) < 0) 15 | { 16 | printf ("Cann't open file /tmp/webcom\n"); 17 | exit (-1); 18 | } 19 | printf ("pthread_camera is ok\n"); 20 | #endif 21 | while (1) 22 | { 23 | pthread_mutex_lock (&mutex_camera); 24 | pthread_cond_wait (&cond_camera, &mutex_camera); 25 | picture = dev_camera_mask; 26 | pthread_mutex_unlock (&mutex_camera); 27 | #if 1 28 | for (; picture > 0; picture--) 29 | { 30 | write (dev_camera_fd, "one", 3); 31 | usleep (600000) ; 32 | } 33 | #endif 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /link_list.c: -------------------------------------------------------------------------------- 1 | #include "link_list.h" 2 | #include "data_global.h" 3 | 4 | linklist linkHead, linkTail; 5 | 6 | linklist CreateEmptyLinklist () 7 | { 8 | linklist h; 9 | h = (linklist)malloc (sizeof (linknode)); 10 | linkTail = h; 11 | h->next = NULL; 12 | return h; 13 | } 14 | 15 | int EmptyLinklist (linklist h) 16 | { 17 | return NULL == h->next; 18 | } 19 | 20 | linklist GetLinknode (linklist h) 21 | { 22 | if (1 == EmptyLinklist (h)) 23 | { 24 | return NULL; 25 | } 26 | linklist p = h->next; 27 | h->next = p->next; 28 | if (p->next == NULL) 29 | linkTail = h; 30 | return p; 31 | } 32 | 33 | int InsertLinknode (link_datatype x) 34 | { 35 | linklist q = (linklist)malloc (sizeof (linknode)); 36 | if (NULL == q) 37 | { 38 | printf ("InsertLinknode Error\n"); 39 | return -1; 40 | } 41 | linkTail->next = q; 42 | linkTail = q; 43 | q->data = x; 44 | q->next = NULL; 45 | 46 | return 0; 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /pthread_buzzer.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | 3 | extern int dev_buzzer_fd; 4 | extern char dev_buzzer_mask; 5 | 6 | extern pthread_mutex_t mutex_buzzer; 7 | 8 | extern pthread_cond_t cond_buzzer; 9 | 10 | void *pthread_buzzer (void *arg) 11 | { 12 | unsigned char set_buzzer; 13 | if ((dev_buzzer_fd = open (DEV_BUZZER, O_RDWR | O_NONBLOCK)) < 0) 14 | { 15 | printf ("Cann't open file /dev/beep\n"); 16 | exit (-1); 17 | } 18 | printf ("pthread_buzzer is ok\n"); 19 | while (1) 20 | { 21 | pthread_mutex_lock (&mutex_buzzer); 22 | pthread_cond_wait (&cond_buzzer, &mutex_buzzer); 23 | set_buzzer = dev_buzzer_mask; 24 | printf ("pthread_buzzer is wake up\n"); 25 | if (0 == set_buzzer) 26 | { 27 | ioctl (dev_buzzer_fd, BUZZER_OFF, 0); 28 | printf("beep off\n"); 29 | } 30 | else 31 | { 32 | printf("beep on\n"); 33 | ioctl (dev_buzzer_fd, BUZZER_ON, 0); 34 | } 35 | pthread_mutex_unlock (&mutex_buzzer); 36 | } 37 | 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /dota_cache.c: -------------------------------------------------------------------------------- 1 | #include "dota_cache.h" 2 | 3 | dota_cache_list CreateEmptyCacheList () 4 | { 5 | dota_cache_list h; 6 | h = (dota_cache_list) malloc (sizeof (dota_cache_node)); 7 | h->next = NULL; 8 | return h; 9 | } 10 | 11 | 12 | int EmptyCacheList (dota_cache_list h) 13 | { 14 | return NULL == h->next; 15 | } 16 | 17 | dota_cache_list GetCacheNode (dota_cache_list h, dota_cache_list *t) 18 | { 19 | if (1 == EmptyCacheList (h)) 20 | { 21 | return NULL; 22 | } 23 | 24 | dota_cache_list p = h->next; 25 | h->next = p->next; 26 | if (p->next == NULL) 27 | { 28 | *t = h; 29 | } 30 | return p; 31 | } 32 | 33 | int InsertCacheNode (dota_cache_list *t, dota_cache_data x) 34 | { 35 | dota_cache_list q = (dota_cache_list)malloc (sizeof (dota_cache_node)); 36 | if (NULL == q) 37 | { 38 | printf ("InsertCacheNode Error\n"); 39 | return -1; 40 | } 41 | (*t)->next = q; 42 | *t = q; 43 | q->data = x; 44 | q->next = NULL; 45 | 46 | return 0; 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /lib/libsqlite3.la: -------------------------------------------------------------------------------- 1 | # libsqlite3.la - a libtool library file 2 | # Generated by ltmain.sh - GNU libtool 1.5.24 (1.1220.2.455 2007/06/24 02:13:29) 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='libsqlite3.so.0' 9 | 10 | # Names of this library. 11 | library_names='libsqlite3.so.0.8.6 libsqlite3.so.0 libsqlite3.so' 12 | 13 | # The name of the static archive. 14 | old_library='libsqlite3.a' 15 | 16 | # Libraries that this one depends upon. 17 | dependency_libs=' -ldl -lpthread' 18 | 19 | # Version information for libsqlite3. 20 | current=8 21 | age=8 22 | revision=6 23 | 24 | # Is this an already installed library? 25 | installed=yes 26 | 27 | # Should we warn about portability when linking against -modules? 28 | shouldnotlink=no 29 | 30 | # Files to dlopen/dlpreopen 31 | dlopen='' 32 | dlpreopen='' 33 | 34 | # Directory that this library needs to be installed in: 35 | libdir='/home/linux/dota_workdir/fun/sqltest/lib' 36 | -------------------------------------------------------------------------------- /pthread_infrared.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | 3 | 4 | extern char dev_infrared_mask; 5 | extern int dev_infrared_fd; 6 | extern int dev_sms_mask; 7 | 8 | extern pthread_mutex_t mutex_infrared; 9 | extern pthread_mutex_t mutex_sms; 10 | 11 | extern pthread_cond_t cond_infrared; 12 | extern pthread_cond_t cond_sms; 13 | 14 | void *pthread_infrared (void *arg) 15 | { 16 | int len; 17 | char buf; 18 | char check = 'x'; 19 | if ((dev_infrared_fd = open (DEV_INFRARED, O_RDWR)) < 0) 20 | { 21 | perror ("open infrared"); 22 | exit (-1); 23 | } 24 | printf ("pthread_infrared is ok\n"); 25 | while (1) 26 | { 27 | buf = 0; 28 | len = read (dev_infrared_fd, &buf, sizeof (char)); 29 | printf ("Storage %d has been break in\n", buf); 30 | if (check != buf) 31 | { 32 | check = buf; 33 | pthread_mutex_lock (&mutex_sms); 34 | dev_sms_mask = SMS_BRE; 35 | pthread_mutex_unlock (&mutex_sms); 36 | pthread_cond_signal (&cond_sms); 37 | sendMsgQueue (3L, 9); 38 | } 39 | 40 | } 41 | 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /pthread_uart_cmd.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | 3 | extern unsigned char dev_uart_mask; 4 | extern int dev_uart_fd; 5 | 6 | extern pthread_cond_t cond_uart_cmd; 7 | 8 | extern pthread_mutex_t mutex_uart_cmd; 9 | 10 | extern dota_cache_list m0_cache_head, m0_cache_tail; 11 | 12 | void *pthread_uart_cmd (void *arg) 13 | { 14 | unsigned char *uart_p = NULL; 15 | dota_cache_list uart_cache_p = NULL; 16 | printf ("pthread_uart_cmd is ok\n"); 17 | while (1) 18 | { 19 | pthread_mutex_lock (&mutex_uart_cmd); 20 | pthread_cond_wait (&cond_uart_cmd, &mutex_uart_cmd); 21 | while ((uart_cache_p = GetCacheNode (m0_cache_head, &m0_cache_tail)) != NULL) 22 | { 23 | pthread_mutex_unlock (&mutex_uart_cmd); 24 | uart_p = (unsigned char *)uart_cache_p->data; 25 | dev_uart_mask = *uart_p; 26 | write (dev_uart_fd, &dev_uart_mask, 1); 27 | free (uart_p); 28 | uart_p = NULL; 29 | free (uart_cache_p); 30 | uart_cache_p = NULL; 31 | usleep (200000); 32 | pthread_mutex_lock (&mutex_uart_cmd); 33 | } 34 | pthread_mutex_unlock (&mutex_uart_cmd); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Howie 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /sem.h: -------------------------------------------------------------------------------- 1 | #ifndef __SEM_H__ 2 | #define __SEM_H__ 3 | 4 | #include "data_global.h" 5 | 6 | union semun { 7 | int val; /* Value for SETVAL */ 8 | struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ 9 | unsigned short *array; /* Array for GETALL, SETALL */ 10 | struct seminfo *__buf; /* Buffer for IPC_INFO 11 | (Linux-specific) */ 12 | }; 13 | 14 | int init_sem(int semid, int num, int val) 15 | { 16 | union semun myun; 17 | myun.val = val; 18 | if(semctl(semid, num, SETVAL, myun) < 0) 19 | { 20 | perror("semctl"); 21 | exit(1); 22 | } 23 | return 0; 24 | } 25 | 26 | int sem_p(int semid, int num) 27 | { 28 | struct sembuf mybuf; 29 | mybuf.sem_num = num; 30 | mybuf.sem_op = -1; 31 | mybuf.sem_flg = SEM_UNDO; 32 | if(semop(semid, &mybuf, 1) < 0) 33 | { 34 | perror("semop"); 35 | exit(1); 36 | } 37 | 38 | return 0; 39 | } 40 | 41 | int sem_v(int semid, int num) 42 | { 43 | struct sembuf mybuf; 44 | mybuf.sem_num = num; 45 | mybuf.sem_op = 1; 46 | mybuf.sem_flg = SEM_UNDO; 47 | if(semop(semid, &mybuf, 1) < 0) 48 | { 49 | perror("semop"); 50 | exit(1); 51 | } 52 | 53 | return 0; 54 | } 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /pthread_heart_jump.c: -------------------------------------------------------------------------------- 1 | #include 2 | //参数解释 3 | //fd:网络连接描述符 4 | //start:首次心跳侦测包发送之间的空闲时间 5 | //interval:两次心跳侦测包之间的间隔时间 6 | //count:探测次数,即将几次探测失败判定为TCP断开 7 | int set_tcp_keepAlive(int fd, int start, int interval, int count) 8 | { 9 | int keepAlive = 1; 10 | if (fd < 0 || start < 0 || interval < 0 || count < 0) return -1; //入口参数检查 ,编程的好习惯。 11 | //启用心跳机制,如果您想关闭,将keepAlive置零即可 12 | if(setsockopt(fd,SOL_SOCKET,SO_KEEPALIVE,(void*)&keepAlive,sizeof(keepAlive)) == -1) 13 | { 14 | perror("setsockopt"); 15 | return -1; 16 | } 17 | //启用心跳机制开始到首次心跳侦测包发送之间的空闲时间 18 | if(setsockopt(fd,SOL_TCP,TCP_KEEPIDLE,(void *)&start,sizeof(start)) == -1) 19 | { 20 | perror("setsockopt"); 21 | return -1; 22 | } 23 | //两次心跳侦测包之间的间隔时间 24 | if(setsockopt(fd,SOL_TCP,TCP_KEEPINTVL,(void *)&interval,sizeof(interval)) == -1) 25 | { 26 | perror("setsockopt"); 27 | return -1; 28 | } 29 | //探测次数,即将几次探测失败判定为TCP断开 30 | if(setsockopt(fd,SOL_TCP,TCP_KEEPCNT,(void *)&count,sizeof(count)) == -1) 31 | { 32 | perror("setsockopt"); 33 | return -1; 34 | } 35 | return 0; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /pthread_led.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | 3 | extern unsigned char dev_led_mask; 4 | extern int dev_led_fd; 5 | 6 | extern pthread_mutex_t mutex_led; 7 | 8 | extern pthread_cond_t cond_led; 9 | 10 | void *pthread_led (void *arg) 11 | { 12 | int led_no; 13 | unsigned char led_set; 14 | if ((dev_led_fd = open (DEV_LED, O_RDWR | O_NONBLOCK)) < 0 ) 15 | { 16 | printf ("Cann't open file /dev/led\n"); 17 | exit (-1); 18 | } 19 | printf ("pthread_led is ok\n"); 20 | while (1) 21 | { 22 | pthread_mutex_lock (&mutex_led); 23 | pthread_cond_wait (&cond_led, &mutex_led); 24 | led_set = dev_led_mask; 25 | pthread_mutex_unlock (&mutex_led); 26 | // printf ("pthread_led is wake up\n"); 27 | switch (led_set & 0xf0) 28 | { 29 | case 0x10: 30 | { 31 | led_no = 0; 32 | break; 33 | } 34 | case 0x20: 35 | { 36 | led_no = 1; 37 | break; 38 | } 39 | case 0x40: 40 | { 41 | led_no = 2; 42 | break; 43 | } 44 | case 0x80: 45 | { 46 | led_no = 3; 47 | break; 48 | } 49 | default :break; 50 | } 51 | led_set &= 0x0f; 52 | if (led_set & (0x1 << led_no)) 53 | { 54 | ioctl (dev_led_fd, LED_ON, led_no); 55 | } 56 | else 57 | { 58 | ioctl (dev_led_fd, LED_OFF, led_no); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /data_global.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | #include "dota_cache.h" 3 | #include "sqlite_link_list.h" 4 | 5 | pthread_cond_t cond_sqlite; 6 | pthread_cond_t cond_analysis; 7 | pthread_cond_t cond_client_send; 8 | pthread_cond_t cond_client_receive; 9 | pthread_cond_t cond_uart_cmd; 10 | pthread_cond_t cond_client_request; 11 | pthread_cond_t cond_infrared; 12 | pthread_cond_t cond_buzzer; 13 | pthread_cond_t cond_led; 14 | pthread_cond_t cond_camera; 15 | pthread_cond_t cond_sms; 16 | pthread_cond_t cond_refresh; 17 | pthread_cond_t cond_refresh_updata; 18 | 19 | pthread_mutex_t mutex_slinklist; 20 | pthread_mutex_t mutex_sqlite; 21 | pthread_mutex_t mutex_analysis; 22 | pthread_mutex_t mutex_client_send;// 23 | pthread_mutex_t mutex_client_receive; 24 | 25 | pthread_mutex_t mutex_uart_cmd; 26 | pthread_mutex_t mutex_client_request; 27 | pthread_mutex_t mutex_infrared; 28 | pthread_mutex_t mutex_buzzer; 29 | pthread_mutex_t mutex_led; 30 | pthread_mutex_t mutex_camera; 31 | pthread_mutex_t mutex_sms; 32 | pthread_mutex_t mutex_refresh; 33 | pthread_mutex_t mutex_refresh_updata; 34 | pthread_mutex_t mutex_global; 35 | pthread_mutex_t mutex_linklist; 36 | 37 | struct storage_info storage_RT[STORAGE_NUM]; 38 | 39 | unsigned char dev_sms_mask; 40 | unsigned char dev_infrared_mask; 41 | unsigned char dev_buzzer_mask; 42 | unsigned char dev_led_mask; 43 | unsigned char dev_camera_mask; 44 | unsigned char dev_uart_mask; 45 | 46 | dota_cache_list m0_cache_head, m0_cache_tail; 47 | 48 | char recive_phone[12] = "18611634456"; 49 | char center_phone[12] = "13800100500"; 50 | 51 | int dev_infrared_fd; 52 | int dev_buzzer_fd; 53 | int dev_led_fd; 54 | int dev_camera_fd; 55 | int dev_sms_fd; 56 | int dev_uart_fd;//com 3 57 | int fd_socket; //socket 58 | 59 | int msgid; 60 | int shmid; 61 | int semid; 62 | 63 | char cgi_status; 64 | char qt_status; 65 | 66 | 67 | /**** sqlite module ****/ 68 | int storageNum; 69 | int goodsKinds; 70 | 71 | struct env_info_clien_addr env_info_clien_addr_s; 72 | struct env_info_clien_addr all_info_RT; 73 | 74 | slinklist slinkHead, slinkTail; 75 | 76 | void sendMsgQueue (long type, unsigned char text) 77 | { 78 | struct msg msgbuf; 79 | msgbuf.type = 1L; 80 | msgbuf.msgtype = type; 81 | msgbuf.text[0] = text; 82 | msgsnd (msgid, &msgbuf, sizeof (msgbuf) - sizeof (long), 0); 83 | } 84 | -------------------------------------------------------------------------------- /pthread_refresh.c: -------------------------------------------------------------------------------- 1 | #include "sem.h" 2 | #include "data_global.h" 3 | #include "sqlite_link_list.h" 4 | 5 | #define N 1024 6 | 7 | extern pthread_mutex_t mutex_refresh; 8 | extern pthread_mutex_t mutex_refresh_updata; 9 | extern pthread_mutex_t mutex_global; 10 | extern pthread_mutex_t mutex_slinklist; 11 | extern pthread_cond_t cond_refresh; 12 | extern pthread_cond_t cond_refresh_updata; 13 | extern pthread_cond_t cond_sqlite; 14 | 15 | extern char cgi_status; 16 | extern char qt_status; 17 | extern int shmid; 18 | extern int semid; 19 | extern struct env_info_clien_addr all_info_RT; 20 | 21 | struct shm_addr 22 | { 23 | char cgi_status; 24 | char qt_status; 25 | struct env_info_clien_addr rt_status; 26 | }; 27 | 28 | void *pthread_refresh (void *arg) 29 | { 30 | key_t key_info; 31 | int shmid, semid; 32 | 33 | struct shm_addr *shm_buf; 34 | 35 | if ((key_info = ftok ("/app", 'i')) < 0) 36 | { 37 | perror ("ftok info"); 38 | exit (-1); 39 | } 40 | printf ("key = %d\n", key_info); 41 | 42 | if ((semid = semget (key_info, 1, IPC_CREAT | IPC_EXCL |0666)) < 0) 43 | { 44 | if (errno == EEXIST) 45 | { 46 | semid = semget (key_info, 1, 0666); 47 | } 48 | else 49 | { 50 | perror ("semget"); 51 | exit (-1); 52 | } 53 | } 54 | else 55 | { 56 | init_sem (semid, 0, 1); 57 | } 58 | 59 | if ((shmid = shmget (key_info, N, IPC_CREAT | IPC_EXCL | 0666)) < 0) 60 | { 61 | if (errno == EEXIST) 62 | { 63 | shmid = shmget (key_info, N, 0666); 64 | shm_buf = (struct shm_addr *)shmat (shmid, NULL, 0); 65 | 66 | } 67 | else 68 | { 69 | perror ("shmget"); 70 | exit (-1); 71 | } 72 | 73 | } 74 | else 75 | { 76 | if ((shm_buf = (struct shm_addr *)shmat (shmid, NULL, 0)) == (void *)-1) 77 | { 78 | perror ("shmat"); 79 | exit (-1); 80 | } 81 | } 82 | 83 | bzero (shm_buf, sizeof (struct shm_addr)); 84 | printf ("pthread_refresh is ok\n"); 85 | 86 | while (1) 87 | { 88 | pthread_mutex_lock (&mutex_refresh); 89 | pthread_cond_wait (&cond_refresh, &mutex_refresh); 90 | // printf ("pthread_refresh is wake up\n"); 91 | sem_p (semid, 0); 92 | pthread_mutex_lock (&mutex_global); 93 | shm_buf->rt_status = all_info_RT; 94 | pthread_mutex_unlock (&mutex_global); 95 | sem_v (semid, 0); 96 | pthread_mutex_unlock (&mutex_refresh); 97 | } 98 | return 0; 99 | } 100 | 101 | -------------------------------------------------------------------------------- /sqlite_link_list.c: -------------------------------------------------------------------------------- 1 | #include "sqlite_link_list.h" 2 | #include "data_global.h" 3 | 4 | extern slinklist slinkHead, slinkTail; 5 | 6 | slinklist sqlite_CreateEmptyLinklist () 7 | { 8 | slinklist h; 9 | h = (slinklist)malloc (sizeof (slinknode)); 10 | printf ("%d\n", sizeof (slinknode)); 11 | slinkTail = h; 12 | h->next = NULL; 13 | return h; 14 | } 15 | 16 | int sqlite_EmptyLinklist (slinklist h) 17 | { 18 | return NULL == h->next; 19 | } 20 | 21 | slinklist sqlite_GetLinknode (slinklist h) 22 | { 23 | if (1 == sqlite_EmptyLinklist (h)) 24 | { 25 | return NULL; 26 | } 27 | slinklist p = h->next; 28 | h->next = p->next; 29 | if (p->next == NULL) 30 | slinkTail = h; 31 | return p; 32 | } 33 | 34 | int sqlite_InsertLinknode (int operation, struct env_info_clien_addr y, 35 | int storageNum_l, int goodsKinds_l) 36 | { 37 | struct sqlite_operation sqlite_operation_t; 38 | switch(operation & 0xff) 39 | { 40 | case 0x00: 41 | sqlite_operation_t.table_select_mask = 0; 42 | sqlite_operation_t.env_operation_mask = 0; 43 | break; 44 | case 0x01: 45 | sqlite_operation_t.table_select_mask = 0; 46 | sqlite_operation_t.env_operation_mask = 1; 47 | break; 48 | case 0x10: 49 | sqlite_operation_t.table_select_mask = 1; 50 | sqlite_operation_t.table_operation_mask = 0; 51 | break; 52 | case 0x11: 53 | sqlite_operation_t.table_select_mask = 1; 54 | sqlite_operation_t.table_operation_mask = 1; 55 | break; 56 | case 0x12: 57 | sqlite_operation_t.table_select_mask = 1; 58 | sqlite_operation_t.table_operation_mask = 2; 59 | break; 60 | case 0x20: 61 | sqlite_operation_t.table_select_mask = 2; 62 | sqlite_operation_t.goods_operation_mask = 0; 63 | break; 64 | case 0x21: 65 | sqlite_operation_t.table_select_mask = 2; 66 | sqlite_operation_t.goods_operation_mask = 1; 67 | break; 68 | case 0x22: 69 | sqlite_operation_t.table_select_mask = 2; 70 | sqlite_operation_t.goods_operation_mask = 2; 71 | break; 72 | case 0x23: 73 | sqlite_operation_t.table_select_mask = 2; 74 | sqlite_operation_t.goods_operation_mask = 3; 75 | break; 76 | } 77 | 78 | slinklist q = (slinklist)malloc (sizeof (slinknode)); 79 | if (NULL == q) 80 | { 81 | printf ("InsertLinknode Error\n"); 82 | return -1; 83 | } 84 | slinkTail->next = q; 85 | slinkTail = q; 86 | q->data = sqlite_operation_t; 87 | q->data_link = y; 88 | q->storageNum = storageNum_l; 89 | q->goodsKinds = goodsKinds_l; 90 | q->next = NULL; 91 | return 0; 92 | } 93 | 94 | 95 | -------------------------------------------------------------------------------- /pthread_transfer.c: -------------------------------------------------------------------------------- 1 | #include "link_list.h" 2 | #include "data_global.h" 3 | 4 | #define LEN_ENV 12 5 | #define LEN_RFID 4 6 | 7 | extern int dev_uart_fd; 8 | 9 | extern linklist linkHead; 10 | 11 | extern pthread_cond_t cond_client_send; 12 | 13 | extern pthread_mutex_t mutex_linklist; 14 | 15 | void serial_init(int fd) 16 | { 17 | struct termios options; 18 | tcgetattr(fd, &options); 19 | options.c_cflag |= ( CLOCAL | CREAD ); 20 | options.c_cflag &= ~CSIZE; 21 | options.c_cflag &= ~CRTSCTS; 22 | options.c_cflag |= CS8; 23 | options.c_cflag &= ~CSTOPB; 24 | options.c_iflag |= IGNPAR; 25 | options.c_iflag &= ~(ICRNL | IXON); 26 | options.c_oflag = 0; 27 | options.c_lflag = 0; 28 | 29 | cfsetispeed(&options, B115200); 30 | cfsetospeed(&options, B115200); 31 | tcsetattr(fd,TCSANOW,&options); 32 | } 33 | 34 | void *pthread_transfer (void *arg) 35 | { 36 | 37 | char flag = 0; 38 | char uart_buf[100]; 39 | unsigned int n, i,len; 40 | 41 | link_datatype buf; 42 | 43 | linkHead = CreateEmptyLinklist (); 44 | #if 1 45 | if ((dev_uart_fd = open (DEV_ZIGBEE, O_RDWR)) < 0) 46 | { 47 | perror ("open arm-gate_com3 is error"); 48 | exit (-1); 49 | } 50 | serial_init (dev_uart_fd); //init com3 51 | printf ("pthread_transfer is ok\n"); 52 | #endif 53 | while (1) 54 | { 55 | printf ("waiting for data ***\n"); 56 | memset (&buf, 0, sizeof (link_datatype)); 57 | memset(uart_buf,0,100); 58 | n=0; 59 | len=0; 60 | 61 | n=read(dev_uart_fd,uart_buf,1); 62 | if((n==1)||(uart_buf[0]==0xff)) 63 | n=read(dev_uart_fd,&uart_buf[1],1); 64 | else continue; 65 | 66 | if((n==1)||(uart_buf[1]==0xff)) 67 | { 68 | n=read(dev_uart_fd,&uart_buf[2],1); 69 | len=uart_buf[2]; 70 | 71 | } 72 | else continue; 73 | 74 | if((n==1)||(len<3)) 75 | continue; 76 | 77 | n=read(dev_uart_fd,&uart_buf[3],1); 78 | 79 | if((n==1)||(uart_buf[3]==0x10)) 80 | { 81 | 82 | 83 | if ((len = read (dev_uart_fd, buf.text, LEN_ENV)) != LEN_ENV) 84 | { 85 | for (i = len; i < LEN_ENV; i++) 86 | { 87 | read (dev_uart_fd, buf.text+i, 1); 88 | } 89 | } 90 | printf("\nReceive from uart success, date_len = %d\n ", len); 91 | flag=1; 92 | } 93 | 94 | if (1 == flag) 95 | { 96 | pthread_mutex_lock (&mutex_linklist); 97 | if ((InsertLinknode (buf)) == -1) 98 | { 99 | pthread_mutex_unlock (&mutex_linklist); 100 | printf ("NONMEM\n"); 101 | } 102 | pthread_mutex_unlock (&mutex_linklist); 103 | flag = 0; 104 | pthread_cond_signal (&cond_client_send); 105 | } 106 | 107 | } 108 | return 0; 109 | } 110 | -------------------------------------------------------------------------------- /pthread_client_send.c: -------------------------------------------------------------------------------- 1 | #include "link_list.h" 2 | #include "data_global.h" 3 | 4 | #define LEN_ENV 12 5 | #define LEN_RFID 4 6 | 7 | extern int fd_socket; 8 | 9 | extern linklist linkHead; 10 | extern linklist slinkHead; 11 | 12 | extern pthread_mutex_t mutex_linklist; 13 | extern pthread_mutex_t mutex_slinklist; 14 | extern pthread_mutex_t mutex_analysis; 15 | extern pthread_mutex_t mutex_global; 16 | extern pthread_mutex_t mutex_sms; 17 | extern pthread_mutex_t mutex_buzzer; 18 | extern pthread_mutex_t mutex_client_send; 19 | 20 | extern pthread_cond_t cond_analysis; 21 | extern pthread_cond_t cond_client_send; 22 | 23 | extern pthread_cond_t cond_sqlite; 24 | extern pthread_cond_t cond_refresh; 25 | extern pthread_cond_t cond_buzzer; 26 | extern pthread_cond_t cond_sms; 27 | 28 | 29 | 30 | 31 | 32 | int socket_connect() //socket创建并连接远程终端函数 33 | { 34 | 35 | struct sockaddr_in address; 36 | int len, result; 37 | fd_socket = socket(AF_INET, SOCK_STREAM,0); 38 | address.sin_family = AF_INET; 39 | address.sin_addr.s_addr = inet_addr(REMOTE_IP); 40 | address.sin_port = htons(PORT); 41 | len = sizeof(address); 42 | do{ 43 | result = connect(fd_socket, (struct sockaddr *)&address, len); 44 | if(result == -1) 45 | { 46 | perror("oops: socket connect failed"); 47 | //exit(1); 48 | } 49 | printf("Socket connect successed !!!\n\n"); 50 | 51 | } 52 | 53 | while(result==-1); 54 | 55 | return 0; 56 | } 57 | 58 | 59 | 60 | void *pthread_client_send (void *arg) 61 | { 62 | signal(SIGPIPE, SIG_IGN); 63 | linklist node; 64 | link_datatype buf; 65 | int len; 66 | 67 | printf ("pthread_client_send is ok\n"); 68 | socket_connect(); 69 | while (1) 70 | { 71 | pthread_mutex_lock (&mutex_client_send); 72 | pthread_cond_wait (&cond_client_send, &mutex_client_send); 73 | pthread_mutex_unlock (&mutex_client_send); 74 | 75 | // if(socket_connect()!=0) 76 | // { 77 | // close(fd_socket) ; 78 | // perror("connect"); 79 | // continue; 80 | // } 81 | while (1) 82 | { 83 | 84 | 85 | pthread_mutex_lock (&mutex_linklist); 86 | if ((node = GetLinknode (linkHead)) == NULL) 87 | { 88 | pthread_mutex_unlock (&mutex_linklist); 89 | break; 90 | } 91 | buf = node->data; 92 | free (node); 93 | pthread_mutex_unlock (&mutex_linklist); 94 | len=write(fd_socket,buf.text,LEN_ENV); 95 | if(len<0) 96 | { 97 | printf("\nwrite to socket fial\n"); 98 | close(fd_socket) ; 99 | socket_connect(); 100 | break; 101 | } 102 | else 103 | { 104 | printf("\nwrite data to socket success, data_len = %d\n",len); 105 | } 106 | 107 | } 108 | } 109 | return 0; 110 | } 111 | -------------------------------------------------------------------------------- /dota_cache_test.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "dota_cache.h" 5 | 6 | struct charpack 7 | { 8 | char a; 9 | char b; 10 | char c; 11 | }; 12 | 13 | struct intpack 14 | { 15 | int a; 16 | int b; 17 | int c; 18 | }; 19 | 20 | int main () 21 | { 22 | dota_cache_list hc = CreateEmptyCacheList (); 23 | dota_cache_list tc = hc; 24 | 25 | dota_cache_list hi = CreateEmptyCacheList (); 26 | dota_cache_list ti = hi; 27 | 28 | dota_cache_list temp; 29 | 30 | struct charpack *pc ; 31 | pc = (struct charpack *) malloc (sizeof (struct charpack)); 32 | pc->a = 'a'; 33 | pc->b = 'b'; 34 | pc->c = 'c'; 35 | 36 | struct intpack *pi; 37 | pi = (struct intpack *) malloc (sizeof (struct intpack)); 38 | pi->a = 1; 39 | pi->b = 2; 40 | pi->c = 3; 41 | 42 | InsertCacheNode (&tc, pc); 43 | InsertCacheNode (&ti, pi); 44 | 45 | pc = (struct charpack *) malloc (sizeof (struct charpack)); 46 | pc->a = 'd'; 47 | pc->b = 'e'; 48 | pc->c = 'f'; 49 | 50 | pi = (struct intpack *) malloc (sizeof (struct intpack)); 51 | pi->a = 4; 52 | pi->b = 5; 53 | pi->c = 6; 54 | 55 | InsertCacheNode (&tc, pc); 56 | InsertCacheNode (&ti, pi); 57 | 58 | pc = (struct charpack *) malloc (sizeof (struct charpack)); 59 | pc->a = 'g'; 60 | pc->b = 'h'; 61 | pc->c = 'i'; 62 | 63 | pi = (struct intpack *) malloc (sizeof (struct intpack)); 64 | pi->a = 7; 65 | pi->b = 8; 66 | pi->c = 9; 67 | 68 | InsertCacheNode (&tc, pc); 69 | InsertCacheNode (&ti, pi); 70 | printf ("Finished Insert\n"); 71 | 72 | 73 | temp = GetCacheNode (hc, &tc); 74 | pc = (struct charpack *)temp->data; 75 | printf ("%c, %c, %c\n", pc->a, pc->b, pc->c); 76 | free (temp); 77 | free (pc); 78 | temp = GetCacheNode (hc, &tc); 79 | pc = (struct charpack *)temp->data; 80 | printf ("%c, %c, %c\n", pc->a, pc->b, pc->c); 81 | free (temp); 82 | free (pc); 83 | temp = GetCacheNode (hc, &tc); 84 | pc = (struct charpack *)temp->data; 85 | printf ("%c, %c, %c\n", pc->a, pc->b, pc->c); 86 | free (temp); 87 | free (pc); 88 | 89 | printf ("%p, %p, %p, %p\n", hi, ti, hi->next, ti->next); 90 | temp = GetCacheNode (hi, &ti); 91 | pi = (struct intpack *)temp->data; 92 | printf ("%d, %d, %d\n", pi->a, pi->b, pi->c); 93 | free (temp); 94 | free (pi); 95 | printf ("%p, %p, %p, %p\n", hi, ti, hi->next, ti->next); 96 | temp = GetCacheNode (hi, &ti); 97 | pi = (struct intpack *)temp->data; 98 | printf ("%d, %d, %d\n", pi->a, pi->b, pi->c); 99 | free (temp); 100 | free (pi); 101 | printf ("%p, %p, %p, %p\n", hi, ti, hi->next, ti->next); 102 | temp = GetCacheNode (hi, &ti); 103 | pi = (struct intpack *)temp->data; 104 | printf ("%d, %d, %d\n", pi->a, pi->b, pi->c); 105 | free (temp); 106 | free (pi); 107 | printf ("%p, %p, %p, %p\n", hi, ti, hi->next, ti->next); 108 | 109 | pi = (struct intpack *) malloc (sizeof (struct intpack)); 110 | pi->a = 7; 111 | pi->b = 8; 112 | pi->c = 9; 113 | 114 | InsertCacheNode (&ti, pi); 115 | 116 | temp = GetCacheNode (hi, &ti); 117 | pi = (struct intpack *)temp->data; 118 | printf ("%d, %d, %d\n", pi->a, pi->b, pi->c); 119 | free (temp); 120 | free (pi); 121 | printf ("%p, %p, %p, %p\n", hi, ti, hi->next, ti->next); 122 | return 0; 123 | } 124 | -------------------------------------------------------------------------------- /pthread_client_receive.c: -------------------------------------------------------------------------------- 1 | #include "link_list.h" 2 | #include "data_global.h" 3 | 4 | #define LEN_ENV 12 5 | #define LEN_RFID 4 6 | 7 | int fd_socket_new; 8 | 9 | extern linklist linkHead; 10 | extern linklist slinkHead; 11 | 12 | extern pthread_mutex_t mutex_linklist; 13 | extern pthread_mutex_t mutex_slinklist; 14 | extern pthread_mutex_t mutex_analysis; 15 | extern pthread_mutex_t mutex_global; 16 | extern pthread_mutex_t mutex_sms; 17 | extern pthread_mutex_t mutex_buzzer; 18 | extern pthread_mutex_t mutex_client_send; 19 | 20 | extern pthread_cond_t cond_analysis; 21 | extern pthread_cond_t cond_client_send; 22 | 23 | extern pthread_cond_t cond_sqlite; 24 | extern pthread_cond_t cond_refresh; 25 | extern pthread_cond_t cond_buzzer; 26 | extern pthread_cond_t cond_sms; 27 | 28 | 29 | void serial_init(int fd) 30 | { 31 | struct termios options; 32 | tcgetattr(fd, &options); 33 | options.c_cflag |= ( CLOCAL | CREAD ); 34 | options.c_cflag &= ~CSIZE; 35 | options.c_cflag &= ~CRTSCTS; 36 | options.c_cflag |= CS8; 37 | options.c_cflag &= ~CSTOPB; 38 | options.c_iflag |= IGNPAR; 39 | options.c_iflag &= ~(ICRNL | IXON); 40 | options.c_oflag = 0; 41 | options.c_lflag = 0; 42 | 43 | cfsetispeed(&options, B115200); 44 | cfsetospeed(&options, B115200); 45 | tcsetattr(fd,TCSANOW,&options); 46 | } 47 | 48 | 49 | int socket_connect() //socket创建并连接远程终端函数 50 | { 51 | struct sockaddr_in address; 52 | int len, result; 53 | fd_socket_new = socket(AF_INET, SOCK_STREAM,0); 54 | address.sin_family = AF_INET; 55 | address.sin_addr.s_addr = inet_addr(REMOTE_IP); 56 | address.sin_port = htons(PORT); 57 | len = sizeof(address); 58 | do{ 59 | result = connect(fd_socket_new, (struct sockaddr *)&address, len); 60 | if(result == -1) 61 | { 62 | perror("oops: socket connect failed"); 63 | //exit(1); 64 | } 65 | printf("Socket connect successed !!!\n\n"); 66 | 67 | } 68 | 69 | while(result==-1); 70 | 71 | return 0; 72 | } 73 | 74 | 75 | 76 | void *pthread_client_receive (void *arg) 77 | { 78 | signal(SIGPIPE, SIG_IGN); 79 | 80 | 81 | #if 1 82 | if ((dev_uart_fd = open (DEV_ZIGBEE, O_RDWR)) < 0) 83 | { 84 | perror ("open arm-gate_com3 is error"); 85 | exit (-1); 86 | } 87 | serial_init (dev_uart_fd); //init com3 88 | printf ("com init is ok\n"); 89 | #endif 90 | 91 | 92 | 93 | socket_connect(); 94 | printf ("pthread_client_receive is ok\n"); 95 | 96 | int i,len; 97 | char socket_buf[100]; 98 | while(1) 99 | { 100 | len = read( fd_socket_new, socket_buf, 100); 101 | if(len <= 0) 102 | { 103 | printf("recive data from socket fail !\n"); 104 | perror("recvfrom:"); 105 | exit(EXIT_FAILURE); 106 | } 107 | else 108 | { 109 | printf("\nrecieve data from socket sueccess, data_len= %d\n",len); 110 | for(i=0;i 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include "dota_cache.h" 24 | #include "netinet/in.h" 25 | #include "sys/socket.h" 26 | 27 | 28 | 29 | #define DEV_GPRS "/dev/s3c2410_serial2" 30 | #define DEV_ZIGBEE "/dev/ttySAC3" // arm_gate_com3 31 | #define DEV_LED "/dev/dota_led" 32 | #define DEV_BUZZER "/dev/dota_beep" 33 | #define DEV_INFRARED "/dev/dota_keyboard" 34 | #define DEV_CAMERA "/tmp/webcom" 35 | #define SQLITE_OPEN "/home/y/warehouse.db" 36 | 37 | #define REMOTE_IP "192.168.1.99" 38 | #define PORT 5678 39 | 40 | #define LED_ON _IO('L', 10) 41 | #define LED_OFF _IO('L', 11) 42 | #define BUZZER_OFF _IO('B', 11) 43 | #define BUZZER_ON _IO('B', 10) 44 | 45 | //#define BUZZER_OFF _IO('B', 1) 46 | //#define BUZZER_ON _IO('B', 0) 47 | #define MSGTYPE_ENV 'e' 48 | #define MSGTYPE_GOODS 'g' 49 | #define MSGTYPE_ACK 'a' 50 | 51 | #define STORAGE_NUM 5 52 | 53 | #define GOODS_NUM 10 54 | #define GOODS_IN 'I' 55 | #define GOODS_OUT 'O' 56 | 57 | #define SMS_TEM 't' 58 | #define SMS_HUM 'h' 59 | #define SMS_ILL 'i' 60 | #define SMS_BRE 'b' 61 | 62 | #define QUEUE_MSG_LEN 32 63 | 64 | #define MSG_LED 1L 65 | #define MSG_LED_TEM_ON 0x22 66 | #define MSG_LED_TEM_OFF 0x20 67 | #define MSG_LED_HUM_ON 0x44 68 | #define MSG_LED_HUM_OFF 0x40 69 | #define MSG_LED_ILL_ON 0x88 70 | #define MSG_LED_ILL_OFF 0x80 71 | 72 | #define MSG_BEEP 2L 73 | #define MSG_BEEP_OFF 0 74 | #define MSG_BEEP_ON 1 75 | 76 | #define MSG_M0 4L 77 | #define MSG_CONNECT_SUCCESS 'Y' 78 | #define MSG_M0_FAN_OFF 0x00 79 | #define MSG_M0_FAN_ON1 0x01 80 | #define MSG_M0_FAN_ON2 0x02 81 | #define MSG_M0_FAN_ON3 0x03 82 | 83 | #define MSG_M0_BEEP_OFF 0x10 84 | #define MSG_M0_BEEP_ON 0x11 85 | #define MSG_M0_BEEP_AU_OFF 0x12 86 | #define MSG_M0_BEEP_AU_ON 0x13 87 | 88 | #define MSG_M0_LED_OFF 0x20 89 | #define MSG_M0_LED_ON 0x21 90 | 91 | #define MSG_M0_SEG_ON 0x30 92 | #define MSG_M0_SEG_OFF 0x3f 93 | 94 | #define ENV_UPDATE 0x00 95 | #define ENV_GET 0x01 96 | #define COLLECT_INSERTER 0x10 97 | #define COLLECT_TIME_GET 0x11 98 | #define COLLECT_CURRENT_GET 0x12 99 | #define GOODS_ADD 0x20 100 | #define GOODS_REDUCE 0x21 101 | #define GOODS_GET 0x22 102 | 103 | extern void *pthread_sqlite (void *); //数据库线程 104 | extern void *pthread_analysis (void *); //数据解析线程 105 | extern void *pthread_transfer (void *); //数据接收线程 106 | extern void *pthread_client_send (void *); //client send线程 107 | extern void *pthread_uart_cmd (void *); //命令发送线程 108 | extern void *pthread_client_request (void *); //接收CGI,QT请求 109 | extern void *pthread_infrared (void *); //红外线程,用按键模拟 110 | extern void *pthread_buzzer (void *); //蜂鸣器控制线程 111 | extern void *pthread_led (void *); //LED控制线程 112 | extern void *pthread_camera (void *); //摄像头线程 113 | extern void *pthread_sms (void *); //发送短信线程 114 | extern void *pthread_refresh (void *); //共享内存数据刷新线程 115 | 116 | extern void sendMsgQueue (long, unsigned char); 117 | 118 | struct storage_goods_info 119 | { 120 | unsigned char goods_type; 121 | unsigned int goods_count; 122 | }; 123 | 124 | struct storage_info 125 | { 126 | unsigned char storage_status; // 0:open 1:close 127 | unsigned char led_status; 128 | unsigned char buzzer_status; 129 | unsigned char fan_status; 130 | unsigned char seg_status; 131 | signed char x; 132 | signed char y; 133 | signed char z; 134 | char samplingTime[20]; 135 | float temperature; 136 | float temperatureMIN; 137 | float temperatureMAX; 138 | float humidity; 139 | float humidityMIN; 140 | float humidityMAX; 141 | float illumination; 142 | float illuminationMIN; 143 | float illuminationMAX; 144 | float battery; 145 | float adc; 146 | float adcMIN; 147 | struct storage_goods_info goods_info[GOODS_NUM]; 148 | }; 149 | 150 | struct env_info_clien_addr 151 | { 152 | struct storage_info storage_no[STORAGE_NUM]; 153 | }; 154 | 155 | struct sqlite_operation 156 | { 157 | int table_select_mask; 158 | int env_operation_mask; 159 | int table_operation_mask; 160 | int goods_operation_mask; 161 | }; 162 | 163 | struct msg 164 | { 165 | long type; 166 | long msgtype; 167 | unsigned char text[QUEUE_MSG_LEN]; 168 | }; 169 | 170 | #endif 171 | -------------------------------------------------------------------------------- /pthread_client_request.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | #include "dota_cache.h" 3 | #include "sqlite_link_list.h" 4 | 5 | extern unsigned char dev_led_mask; 6 | extern unsigned char dev_camera_mask; 7 | extern unsigned char dev_buzzer_mask; 8 | extern unsigned char dev_uart_mask; 9 | 10 | extern pthread_cond_t cond_led; 11 | extern pthread_cond_t cond_camera; 12 | extern pthread_cond_t cond_buzzer; 13 | extern pthread_cond_t cond_refresh; 14 | extern pthread_cond_t cond_uart_cmd; 15 | extern pthread_cond_t cond_sqlite; 16 | 17 | extern pthread_mutex_t mutex_global; 18 | extern pthread_mutex_t mutex_uart_cmd; 19 | extern pthread_mutex_t mutex_led; 20 | extern pthread_mutex_t mutex_buzzer; 21 | extern pthread_mutex_t mutex_camera; 22 | extern pthread_mutex_t mutex_slinklist; 23 | 24 | extern char cgi_status; 25 | extern int msgid; 26 | extern struct env_info_clien_addr all_info_RT; 27 | 28 | extern dota_cache_list m0_cache_head, m0_cache_tail; 29 | extern char recive_phone[12] ; 30 | extern char center_phone[12] ; 31 | struct setEnv 32 | { 33 | int temMAX; 34 | int temMIN; 35 | int humMAX; 36 | int humMIN; 37 | int illMAX; 38 | int illMIN; 39 | }; 40 | 41 | 42 | 43 | void *pthread_client_request (void *arg) 44 | { 45 | key_t key; 46 | ssize_t msgsize; 47 | struct msg msgbuf; 48 | struct setEnv new; 49 | int sto_no; 50 | 51 | if ((key = ftok ("/app", 'g')) < 0) 52 | { 53 | perror ("ftok msgqueue"); 54 | exit (-1); 55 | } 56 | if ((msgid = msgget (key, IPC_CREAT | IPC_EXCL | 0666)) < 0) 57 | { 58 | perror ("msgget msgid"); 59 | exit (-1); 60 | } 61 | 62 | m0_cache_head = CreateEmptyCacheList (); 63 | m0_cache_tail = m0_cache_head; 64 | unsigned char *m0_temp; 65 | 66 | printf ("pthread_client_request is ok\n"); 67 | while (1) 68 | { 69 | bzero (&msgbuf, sizeof (msgbuf)); 70 | // printf ("wait for the msg\n"); 71 | msgsize = msgrcv (msgid, &msgbuf, sizeof (msgbuf) - sizeof (long), 1L, 0); 72 | // printf ("Get %ldL msg\n", msgbuf.msgtype); 73 | // printf ("text[0] = %#x\n", msgbuf.text[0]); 74 | 75 | switch (msgbuf.msgtype) 76 | { 77 | case 1L: 78 | { 79 | pthread_mutex_lock (&mutex_led); 80 | dev_led_mask = msgbuf.text[0]; 81 | pthread_cond_signal (&cond_led); 82 | pthread_mutex_unlock (&mutex_led); 83 | break; 84 | } 85 | case 2L: 86 | { 87 | pthread_mutex_lock (&mutex_buzzer); 88 | dev_buzzer_mask = msgbuf.text[0]; 89 | printf("msgbuf.text[0] = %d \n",msgbuf.text[0]); 90 | pthread_cond_signal (&cond_buzzer); 91 | pthread_mutex_unlock (&mutex_buzzer); 92 | break; 93 | } 94 | case 3L: 95 | { 96 | pthread_mutex_lock (&mutex_camera); 97 | dev_camera_mask = msgbuf.text[0]; 98 | pthread_cond_signal (&cond_camera); 99 | pthread_mutex_unlock (&mutex_camera); 100 | break; 101 | } 102 | case 4L: 103 | { 104 | // usleep (200000); 105 | pthread_mutex_lock (&mutex_uart_cmd); 106 | m0_temp = (unsigned char *)malloc (sizeof (unsigned char)); 107 | *m0_temp = msgbuf.text[0]; 108 | printf("msgbuf.text = %d\n",msgbuf.text[0]); 109 | InsertCacheNode (&m0_cache_tail, m0_temp); 110 | // dev_uart_mask = msgbuf.text[0]; 111 | pthread_mutex_unlock (&mutex_uart_cmd); 112 | pthread_cond_signal (&cond_uart_cmd); 113 | break; 114 | } 115 | case 5L: 116 | { 117 | memcpy (&new, msgbuf.text + 1, 24); 118 | sto_no = msgbuf.text[0] - 48; 119 | printf ("sto_no = %d temMAX = %d, temMIN = %d, humMAX = %d, hunMIN = %d, illMAX = %d, illMIN = %d\n", 120 | sto_no, new.temMAX, new.temMIN, new.humMAX, new.humMIN, new.illMAX, new.illMIN); 121 | pthread_mutex_lock (&mutex_global); 122 | if (new.temMAX > 0 && new.temMAX > all_info_RT.storage_no[sto_no].temperatureMIN) 123 | { 124 | all_info_RT.storage_no[sto_no].temperatureMAX = new.temMAX; 125 | } 126 | if (new.temMIN > 0 && new.temMIN < all_info_RT.storage_no[sto_no].temperatureMAX) 127 | { 128 | all_info_RT.storage_no[sto_no].temperatureMIN = new.temMIN; 129 | } 130 | if (new.humMAX > 0 && new.humMAX > all_info_RT.storage_no[sto_no].humidityMIN) 131 | { 132 | all_info_RT.storage_no[sto_no].humidityMAX = new.humMAX; 133 | } 134 | if (new.humMIN > 0 && new.humMIN < all_info_RT.storage_no[sto_no].temperatureMAX) 135 | { 136 | all_info_RT.storage_no[sto_no].humidityMIN = new.humMIN; 137 | } 138 | if (new.illMAX > 0 && new.illMAX > all_info_RT.storage_no[sto_no].illuminationMIN) 139 | { 140 | all_info_RT.storage_no[sto_no].illuminationMAX = new.illMAX; 141 | } 142 | if (new.illMIN > 0 && new.illMIN < all_info_RT.storage_no[sto_no].illuminationMAX) 143 | { 144 | all_info_RT.storage_no[sto_no].illuminationMIN = new.illMIN; 145 | } 146 | pthread_mutex_lock (&mutex_slinklist); 147 | sqlite_InsertLinknode (ENV_UPDATE, all_info_RT, sto_no, 0);//0,0分别是仓库号和货物种类号 148 | pthread_mutex_unlock (&mutex_slinklist); 149 | pthread_cond_signal (&cond_sqlite); 150 | pthread_mutex_unlock (&mutex_global); 151 | pthread_cond_signal (&cond_refresh); 152 | break; 153 | } 154 | #if 1 155 | case 10L: 156 | { 157 | int i = 0 , j = 0 ; 158 | for(i = 0 ; i < 11; i++) 159 | { 160 | recive_phone[i] = msgbuf.text[i]; 161 | } 162 | recive_phone[i] = '\0'; 163 | printf("**************************recive:%s\n",recive_phone); 164 | for(j = 0 ;msgbuf.text[i] != '\0' && j < 12; i++, j++) 165 | { 166 | center_phone[j] = msgbuf.text[i]; 167 | } 168 | center_phone[j] = '\0'; 169 | printf("**************************center:%s\n",center_phone); 170 | printf("**************************num change over\n"); 171 | break; 172 | } 173 | 174 | 175 | #endif 176 | #if 1 177 | case 11L: 178 | { 179 | char tmp[100] ={0}; 180 | strcpy(tmp,msgbuf.text); 181 | char tmp1[100] = {0}; 182 | char tmp2[100] = {0}; 183 | int i = 0, j= 0; 184 | for(i = 0 ; tmp[i] != 'f'; i++) 185 | { 186 | tmp1[i] = tmp[i]; 187 | } 188 | tmp1[i] = '\0'; 189 | printf("tmp1 : %s\n",tmp1); 190 | i++; 191 | for(j=0 ; tmp[i] != '\0'; i++, j++) 192 | { 193 | tmp2[j] = tmp[i]; 194 | } 195 | tmp2[j] = '\0'; 196 | printf("tmp2 : %s\n",tmp2); 197 | system("mkdir /var/run/wpa_supplicant -p"); 198 | char ifcon[100] = "ifconfig wlan0 "; 199 | strcat(ifcon,tmp1); 200 | printf("string : %s\n",ifcon); 201 | system(ifcon); 202 | char gw[100] = "route add default gw "; 203 | strcat(gw,tmp2); 204 | system(gw); 205 | printf("gw : %s\n",gw); 206 | system("wpa_supplicant -B -iwlan0 -c /etc/wpa-psk-tkip.conf"); 207 | printf("wifi is ok\n"); 208 | break; 209 | } 210 | 211 | 212 | #endif 213 | 214 | 215 | 216 | 217 | default : break; 218 | } 219 | } 220 | 221 | } 222 | -------------------------------------------------------------------------------- /pthread_sms.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | struct Message{ 3 | char size[4]; //消息长度 4 | char which; //消息模板 5 | char size_tal[16]; //指令 6 | char info[32]; //信息长度 7 | }gprs_msg[] = { 8 | {"0c", 0, "AT+CMGS=27\r", "4ED35E937740706B5566FF01"}, //仓库着火啦! 9 | // {"0e", 1, "AT+CMGS=29\r", "4ED35E9367098D3C95EF5165FF01"}, //仓库有贼闯入! 10 | {"0e", 1, "AT+CMGS=29\r", "test"}, //仓库有贼闯入! 11 | {"0a", 2, "AT+CMGS=25\r", "514971678D856807FF01"}, //光照超标! 12 | {"0a", 3, "AT+CMGS=25\r", "6E7F5EA68D856807FF01"} //湿度超标! 13 | }; 14 | 15 | struct From_to_send{ 16 | char center_number[16]; 17 | char to_number[16]; 18 | }phone_NUM; 19 | 20 | extern void gprs_serial_init(int fd); 21 | //extern int send_message_tar(int fd, int which); 22 | extern int send_message(int dev_fd,char *buf); 23 | extern void set_phone_number(char from[],char to[]); 24 | extern void *pthread_sms (void *); 25 | 26 | extern pthread_mutex_t mutex_sms; 27 | extern pthread_cond_t cond_sms; 28 | 29 | //char recive_no[12] = "18657660187"; 30 | //char center_no[12] = "13647737579"; 31 | extern char recive_phone[12]; 32 | extern char center_phone[12]; 33 | extern unsigned char dev_sms_mask; 34 | 35 | extern int dev_sms_fd; 36 | 37 | //******************************************************************* 38 | //获取线程号 39 | pid_t gettid(void) 40 | { 41 | return syscall(SYS_gettid); 42 | } 43 | 44 | //******************************************************************* 45 | //A8与GPRS模块之间的初始化串口 46 | void gprs_serial_init(int fd) 47 | { 48 | struct termios options;//termios函数族提供一个常规的终端接口,用于控制非同步通信端口。 49 | 50 | tcgetattr(fd, &options);//取得当前串口的属性,并付给collect_fd这个设备 51 | options.c_cflag |= (CLOCAL | CREAD);//clocal表示忽略modem控制线,cread表示打开接收者 52 | options.c_cflag &= ~CSIZE;//清空原有字符长度(csize表示原有字符长度掩码) 53 | options.c_cflag &= ~CRTSCTS;//启用RTS/CTS(硬件)流控制 54 | options.c_cflag |= CS8;//设置字符长度掩码 55 | options.c_cflag &= ~CSTOPB;//设置停止位为1个(cstopb表示设置两个停止位) 56 | options.c_iflag |= IGNPAR;//忽略帧错误和奇偶校验错 57 | 58 | options.c_oflag = 0;//设置输出模式标志 59 | options.c_lflag = 0;//设置本地模式标志 60 | 61 | //cfsetispeed(&options, B115200);//设置输入波特率 62 | //cfsetospeed(&options, B115200);//设置输出波特率 63 | 64 | cfsetospeed(&options, B9600);//设置输出波特率 65 | cfsetospeed(&options, B9600);//设置输出波特率 66 | tcsetattr(fd, TCSANOW, &options);//把上面设置号的属性赋值给collect_fd这个设备,tcsanow表示马上生效 67 | 68 | printf("init gprs over...\n"); 69 | return ; 70 | } 71 | 72 | int send(int fd,char *cmgf,char *cmgs,char *message)//发送函数,用于AT指令的发送 73 | { 74 | printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&fd : %d", fd); 75 | int nread,nwrite; 76 | char buff[128]; 77 | char reply[128]; 78 | 79 | memset(buff,0,sizeof(buff)); 80 | strcpy(buff,"AT\r"); 81 | nwrite = write(fd,buff,strlen(buff)); 82 | printf("1_nwrite = %d, %s\n", nwrite, buff); 83 | 84 | memset(reply,0,sizeof(reply)); 85 | sleep(1); 86 | nread = read(fd,reply,sizeof(reply)); 87 | printf("2_nread = %d, %s\n", nread, reply); 88 | /*发送方式*/ 89 | memset(buff,0,sizeof(buff)); 90 | strcpy(buff,"AT+CMGF="); 91 | strcat(buff,cmgf); 92 | strcat(buff,"\r"); 93 | nwrite = write(fd,buff,strlen(buff)); 94 | printf("3_nwrite = %d, %s\n", nwrite, buff); 95 | 96 | memset(reply,0,sizeof(reply)); 97 | sleep(1); 98 | nread = read(fd,reply,sizeof(reply)); 99 | printf("4_nread = %d, %s\n", nread, reply); 100 | 101 | memset(buff,0,sizeof(buff)); 102 | strcpy(buff,"AT+CMGS="); 103 | strcat(buff,cmgs); 104 | strcat(buff,"\r"); 105 | nwrite = write(fd,buff,strlen(buff)); 106 | printf("5_nwrite = %d, %s\n", nwrite, buff); 107 | 108 | memset(reply,0,sizeof(reply)); 109 | sleep(1); 110 | nread = read(fd,reply,sizeof(reply)); 111 | printf("6_nread = %d, %s\n", nread, reply); 112 | /**/ 113 | memset(buff,0,sizeof(buff)); 114 | strcpy(buff,message); 115 | nwrite = write(fd,buff,strlen(buff)); 116 | printf("7_nwrite = %d, %s\n", nwrite, buff); 117 | 118 | memset(reply,0,sizeof(reply)); 119 | sleep(1); 120 | nread = read(fd,reply,sizeof(reply)); 121 | printf("8_nread = %d, %s\n", nread, reply); 122 | 123 | printf("call send over\n"); 124 | return 0; 125 | } 126 | int send_message(int dev_fd ,char *info)//发送处理函数,处理字符串 127 | { 128 | // system("./gprs_test"); 129 | 130 | printf("&&&&&&&&&&&&&&&&&&&&& dev_fd: %d\n", dev_fd); 131 | printf("&&&&&&&&&&&&&&&&&info : %s\n", info); 132 | char *cmgf = "1";//文本模式发送 133 | int conter = 0; 134 | char cmgs[16] = {'\0'}; 135 | char buf[128]; 136 | 137 | gprs_serial_init(dev_fd); //串口初始化 138 | strcpy(buf,info); 139 | printf("&&&&&&&&&&&&&&&& %s\n",buf); 140 | strcat(buf,"\x1a");//ctrl+z 的ASC 值26 141 | strcat(cmgs,recive_phone); 142 | 143 | send(dev_fd,cmgf,cmgs,buf); 144 | #if 1 145 | printf("send message success\n"); 146 | #endif 147 | return 0; 148 | 149 | 150 | } 151 | 152 | 153 | //向A8主线程中获得GPRS的线程 154 | void *pthread_sms(void *arg) 155 | { 156 | unsigned char buf; 157 | //打开设备文件 158 | if((dev_sms_fd = open(DEV_GPRS, O_RDWR | O_NOCTTY | O_NDELAY)) < 0){ 159 | printf("Fail to open DEV_GSM !\n"); 160 | exit(1); 161 | } 162 | // set_phone_number(center_phone, recive_phone); 163 | printf ("pthread_sms is ok\n"); 164 | while (1) 165 | { 166 | pthread_mutex_lock(&mutex_sms); //申请互斥锁 167 | pthread_cond_wait(&cond_sms, &mutex_sms); //等待条件的成立 168 | buf = dev_sms_mask; 169 | printf ("pthread_sms is wake up! dev_sms_mask = %c\n", buf); 170 | pthread_mutex_unlock(&mutex_sms); //解锁 171 | if(SMS_TEM == buf) //温度过高,即火灾警报 172 | //send_message(dev_sms_fd, 0); 173 | send_message(dev_sms_fd, "the temprature is too high"); 174 | 175 | if(SMS_BRE == buf) //不明身份人物闯入 176 | { 177 | printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&dev_sms_fd: %d\n",dev_sms_fd); 178 | send_message(dev_sms_fd, "stranger has come in"); 179 | } 180 | if(SMS_ILL == buf) //光照强度超标 181 | send_message(dev_sms_fd, "the illumination is irregular"); 182 | 183 | if(SMS_HUM == buf) //湿度超标 184 | send_message(dev_sms_fd, "humidity is irregular"); 185 | 186 | } 187 | 188 | return 0; 189 | } 190 | 191 | 192 | //******************************************************************* 193 | /* 194 | int main() 195 | { 196 | pthread_mutex_lock(&mutex_sms); //操作临界资源,先加锁 197 | set_phone_number("0", recive_no); 198 | pthread_mutex_unlock(&mutex_sms); //解锁 199 | */ 200 | //打开设备文件 201 | /* if((fd = open(DEV_GPRS, O_RDWR | O_NOCTTY | O_NDELAY)) < 0){ 202 | printf("Fail to open DEV_GSM !\n"); 203 | return -1; 204 | }*/ 205 | 206 | // send_message(fd, 0); //发送消息 207 | /* 208 | pthread_t sms_id; //线程id 209 | if(pthread_create(&sms_id,NULL,pthread_sms,NULL) < 0) //创建线程 210 | { 211 | perror("Fail to pthread_create !\n"); 212 | exit(1); 213 | } 214 | printf("Main pthread: pid=%d, tid=%d\n",getpid(), gettid()); 215 | 216 | pthread_cond_init(&cond_sms, NULL); //初始化条件表量 217 | 218 | pthread_mutex_lock(&mutex_sms); //操作临界资源,先加锁 219 | pthread_cond_signal(&cond_sms); //激活一个等待该条件的线程 220 | pthread_mutex_unlock(&mutex_sms); //解锁 221 | 222 | pthread_join(sms_id, NULL); //等待线程结束 223 | pthread_detach(sms_id); //回收线程资源 224 | 225 | 226 | return 0; 227 | } 228 | */ 229 | 230 | 231 | -------------------------------------------------------------------------------- /share/man/man1/sqlite3.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .\" First parameter, NAME, should be all caps 3 | .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection 4 | .\" other parameters are allowed: see man(7), man(1) 5 | .TH SQLITE3 1 "Mon Apr 15 23:49:17 2002" 6 | .\" Please adjust this date whenever revising the manpage. 7 | .\" 8 | .\" Some roff macros, for reference: 9 | .\" .nh disable hyphenation 10 | .\" .hy enable hyphenation 11 | .\" .ad l left justify 12 | .\" .ad b justify to both left and right margins 13 | .\" .nf disable filling 14 | .\" .fi enable filling 15 | .\" .br insert line break 16 | .\" .sp insert n+1 empty lines 17 | .\" for manpage-specific macros, see man(7) 18 | .SH NAME 19 | .B sqlite3 20 | \- A command line interface for SQLite version 3 21 | 22 | .SH SYNOPSIS 23 | .B sqlite3 24 | .RI [ options ] 25 | .RI [ databasefile ] 26 | .RI [ SQL ] 27 | 28 | .SH SUMMARY 29 | .PP 30 | .B sqlite3 31 | is a terminal-based front-end to the SQLite library that can evaluate 32 | queries interactively and display the results in multiple formats. 33 | .B sqlite3 34 | can also be used within shell scripts and other applications to provide 35 | batch processing features. 36 | 37 | .SH DESCRIPTION 38 | To start a 39 | .B sqlite3 40 | interactive session, invoke the 41 | .B sqlite3 42 | command and optionally provide the name of a database file. If the 43 | database file does not exist, it will be created. If the database file 44 | does exist, it will be opened. 45 | 46 | For example, to create a new database file named "mydata.db", create 47 | a table named "memos" and insert a couple of records into that table: 48 | .sp 49 | $ 50 | .B sqlite3 mydata.db 51 | .br 52 | SQLite version 3.1.3 53 | .br 54 | Enter ".help" for instructions 55 | .br 56 | sqlite> 57 | .B create table memos(text, priority INTEGER); 58 | .br 59 | sqlite> 60 | .B insert into memos values('deliver project description', 10); 61 | .br 62 | sqlite> 63 | .B insert into memos values('lunch with Christine', 100); 64 | .br 65 | sqlite> 66 | .B select * from memos; 67 | .br 68 | deliver project description|10 69 | .br 70 | lunch with Christine|100 71 | .br 72 | sqlite> 73 | .sp 74 | 75 | If no database name is supplied, the ATTACH sql command can be used 76 | to attach to existing or create new database files. ATTACH can also 77 | be used to attach to multiple databases within the same interactive 78 | session. This is useful for migrating data between databases, 79 | possibly changing the schema along the way. 80 | 81 | Optionally, a SQL statement or set of SQL statements can be supplied as 82 | a single argument. Multiple statements should be separated by 83 | semi-colons. 84 | 85 | For example: 86 | .sp 87 | $ 88 | .B sqlite3 -line mydata.db 'select * from memos where priority > 20;' 89 | .br 90 | text = lunch with Christine 91 | .br 92 | priority = 100 93 | .br 94 | .sp 95 | 96 | .SS SQLITE META-COMMANDS 97 | .PP 98 | The interactive interpreter offers a set of meta-commands that can be 99 | used to control the output format, examine the currently attached 100 | database files, or perform administrative operations upon the 101 | attached databases (such as rebuilding indices). Meta-commands are 102 | always prefixed with a dot (.). 103 | 104 | A list of available meta-commands can be viewed at any time by issuing 105 | the '.help' command. For example: 106 | .sp 107 | sqlite> 108 | .B .help 109 | .nf 110 | .cc | 111 | .databases List names and files of attached databases 112 | .dump ?TABLE? ... Dump the database in an SQL text format 113 | .echo ON|OFF Turn command echo on or off 114 | .exit Exit this program 115 | .explain ON|OFF Turn output mode suitable for EXPLAIN on or off. 116 | .header(s) ON|OFF Turn display of headers on or off 117 | .help Show this message 118 | .import FILE TABLE Import data from FILE into TABLE 119 | .indices TABLE Show names of all indices on TABLE 120 | .mode MODE ?TABLE? Set output mode where MODE is one of: 121 | csv Comma-separated values 122 | column Left-aligned columns. (See .width) 123 | html HTML code 124 | insert SQL insert statements for TABLE 125 | line One value per line 126 | list Values delimited by .separator string 127 | tabs Tab-separated values 128 | tcl TCL list elements 129 | .nullvalue STRING Print STRING in place of NULL values 130 | .output FILENAME Send output to FILENAME 131 | .output stdout Send output to the screen 132 | .prompt MAIN CONTINUE Replace the standard prompts 133 | .quit Exit this program 134 | .read FILENAME Execute SQL in FILENAME 135 | .schema ?TABLE? Show the CREATE statements 136 | .separator STRING Change separator used by output mode and .import 137 | .show Show the current values for various settings 138 | .tables ?PATTERN? List names of tables matching a LIKE pattern 139 | .timeout MS Try opening locked tables for MS milliseconds 140 | .width NUM NUM ... Set column widths for "column" mode 141 | sqlite> 142 | |cc . 143 | .sp 144 | .fi 145 | 146 | .SH OPTIONS 147 | .B sqlite3 148 | has the following options: 149 | .TP 150 | .BI \-init\ file 151 | Read and execute commands from 152 | .I file 153 | , which can contain a mix of SQL statements and meta-commands. 154 | .TP 155 | .B \-echo 156 | Print commands before execution. 157 | .TP 158 | .B \-[no]header 159 | Turn headers on or off. 160 | .TP 161 | .B \-column 162 | Query results will be displayed in a table like form, using 163 | whitespace characters to separate the columns and align the 164 | output. 165 | .TP 166 | .B \-html 167 | Query results will be output as simple HTML tables. 168 | .TP 169 | .B \-line 170 | Query results will be displayed with one value per line, rows 171 | separated by a blank line. Designed to be easily parsed by 172 | scripts or other programs 173 | .TP 174 | .B \-list 175 | Query results will be displayed with the separator (|, by default) 176 | character between each field value. The default. 177 | .TP 178 | .BI \-separator\ separator 179 | Set output field separator. Default is '|'. 180 | .TP 181 | .BI \-nullvalue\ string 182 | Set string used to represent NULL values. Default is '' 183 | (empty string). 184 | .TP 185 | .B \-version 186 | Show SQLite version. 187 | .TP 188 | .B \-help 189 | Show help on options and exit. 190 | 191 | 192 | .SH INIT FILE 193 | .B sqlite3 194 | reads an initialization file to set the configuration of the 195 | interactive environment. Throughout initialization, any previously 196 | specified setting can be overridden. The sequence of initialization is 197 | as follows: 198 | 199 | o The default configuration is established as follows: 200 | 201 | .sp 202 | .nf 203 | .cc | 204 | mode = LIST 205 | separator = "|" 206 | main prompt = "sqlite> " 207 | continue prompt = " ...> " 208 | |cc . 209 | .sp 210 | .fi 211 | 212 | o If the file 213 | .B ~/.sqliterc 214 | exists, it is processed first. 215 | can be found in the user's home directory, it is 216 | read and processed. It should generally only contain meta-commands. 217 | 218 | o If the -init option is present, the specified file is processed. 219 | 220 | o All other command line options are processed. 221 | 222 | .SH SEE ALSO 223 | http://www.sqlite.org/ 224 | .br 225 | The sqlite-doc package 226 | .SH AUTHOR 227 | This manual page was originally written by Andreas Rottmann 228 | , for the Debian GNU/Linux system (but may be used 229 | by others). It was subsequently revised by Bill Bumgarner . 230 | -------------------------------------------------------------------------------- /main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "data_global.h" 10 | 11 | 12 | extern pthread_cond_t cond_sqlite; 13 | extern pthread_cond_t cond_analysis; 14 | extern pthread_cond_t cond_client_send; 15 | extern pthread_cond_t cond_uart_cmd; 16 | extern pthread_cond_t cond_client_request; 17 | extern pthread_cond_t cond_infrared; 18 | extern pthread_cond_t cond_buzzer; 19 | extern pthread_cond_t cond_led; 20 | extern pthread_cond_t cond_camera; 21 | extern pthread_cond_t cond_sms; 22 | extern pthread_cond_t cond_refresh; 23 | extern pthread_cond_t cond_refresh_updata; 24 | 25 | extern pthread_mutex_t mutex_slinklist; 26 | extern pthread_mutex_t mutex_sqlite; 27 | extern pthread_mutex_t mutex_analysis; 28 | extern pthread_mutex_t mutex_client_send; 29 | extern pthread_mutex_t mutex_client_receive; 30 | 31 | extern pthread_mutex_t mutex_uart_cmd; 32 | extern pthread_mutex_t mutex_client_request; 33 | extern pthread_mutex_t mutex_infrared; 34 | extern pthread_mutex_t mutex_buzzer; 35 | extern pthread_mutex_t mutex_led; 36 | extern pthread_mutex_t mutex_camera; 37 | extern pthread_mutex_t mutex_sms; 38 | extern pthread_mutex_t mutex_refresh; 39 | extern pthread_mutex_t mutex_refresh_updata; 40 | extern pthread_mutex_t mutex_global; 41 | extern pthread_mutex_t mutex_linklist; 42 | 43 | extern int dev_infrared_fd; 44 | extern int dev_buzzer_fd; 45 | extern int dev_led_fd; 46 | extern int dev_camera_fd; 47 | extern int dev_sms_fd; 48 | extern int dev_uart_fd; 49 | 50 | extern int msgid; 51 | extern int shmid; 52 | extern int semid; 53 | 54 | extern void Create_table (); 55 | 56 | extern struct env_info_clien_addr all_info_RT; 57 | 58 | pthread_t id_sqlite, 59 | id_analysis, 60 | id_transfer, 61 | id_client_send, 62 | id_client_receive, 63 | id_uart_cmd, 64 | id_client_request, 65 | id_infrared, 66 | id_buzzer, 67 | id_led, 68 | id_camera, 69 | id_sms, 70 | id_refresh; 71 | 72 | void ReleaseResource (int signo) 73 | { 74 | 75 | pthread_mutex_destroy (&mutex_linklist); 76 | pthread_mutex_destroy (&mutex_global); 77 | pthread_mutex_destroy (&mutex_refresh_updata); 78 | pthread_mutex_destroy (&mutex_refresh); 79 | pthread_mutex_destroy (&mutex_sms); 80 | pthread_mutex_destroy (&mutex_camera); 81 | pthread_mutex_destroy (&mutex_led); 82 | pthread_mutex_destroy (&mutex_buzzer); 83 | pthread_mutex_destroy (&mutex_infrared); 84 | pthread_mutex_destroy (&mutex_client_request); 85 | pthread_mutex_destroy (&mutex_uart_cmd); 86 | pthread_mutex_destroy (&mutex_analysis); 87 | pthread_mutex_destroy (&mutex_client_send); 88 | pthread_mutex_destroy (&mutex_client_receive); 89 | 90 | 91 | pthread_mutex_destroy (&mutex_sqlite); 92 | pthread_mutex_destroy (&mutex_slinklist); 93 | 94 | pthread_cond_destroy (&cond_client_send); 95 | pthread_cond_destroy (&cond_refresh_updata); 96 | pthread_cond_destroy (&cond_refresh); 97 | pthread_cond_destroy (&cond_sms); 98 | pthread_cond_destroy (&cond_camera); 99 | pthread_cond_destroy (&cond_led); 100 | pthread_cond_destroy (&cond_buzzer); 101 | pthread_cond_destroy (&cond_infrared); 102 | pthread_cond_destroy (&cond_client_request); 103 | pthread_cond_destroy (&cond_uart_cmd); 104 | pthread_cond_destroy (&cond_analysis); 105 | pthread_cond_destroy (&cond_sqlite); 106 | 107 | msgctl (msgid, IPC_RMID, NULL); 108 | shmctl (shmid, IPC_RMID, NULL); 109 | 110 | 111 | pthread_cancel (id_refresh); 112 | pthread_cancel (id_sms); 113 | pthread_cancel (id_camera); 114 | pthread_cancel (id_led); 115 | pthread_cancel (id_buzzer); 116 | pthread_cancel (id_infrared); 117 | pthread_cancel (id_client_request); 118 | pthread_cancel (id_uart_cmd); 119 | pthread_cancel (id_transfer); 120 | pthread_cancel (id_analysis); 121 | pthread_cancel (id_client_send); 122 | pthread_cancel (id_client_receive); 123 | 124 | 125 | pthread_cancel (id_sqlite); 126 | 127 | close (dev_camera_fd); 128 | close (dev_led_fd); 129 | close (dev_buzzer_fd); 130 | close (dev_infrared_fd); 131 | close (dev_sms_fd); 132 | close (dev_uart_fd); 133 | 134 | printf ("All quit\n"); 135 | 136 | exit(0); 137 | } 138 | 139 | void setLimit (int sto_no, float temMAX, float temMIN, float humMAX, float humMIN, float illMAX, float illMIN) 140 | { 141 | if (sto_no >= 0 && (sto_no <=STORAGE_NUM - 1)) 142 | { 143 | all_info_RT.storage_no[sto_no].temperatureMAX = temMAX; 144 | all_info_RT.storage_no[sto_no].temperatureMIN = temMIN; 145 | all_info_RT.storage_no[sto_no].humidityMAX = humMAX; 146 | all_info_RT.storage_no[sto_no].humidityMIN = humMIN; 147 | all_info_RT.storage_no[sto_no].illuminationMAX = illMAX; 148 | all_info_RT.storage_no[sto_no].illuminationMIN = illMIN; 149 | } 150 | } 151 | 152 | int main(int argc, char **argv) 153 | { 154 | #if 1 155 | / Create_table (); // 156 | setLimit (1, 50, 5, 50, 10, 500, 10); 157 | setLimit (2, 50, 5, 50, 10, 500, 10); 158 | 159 | pthread_mutex_init (&mutex_slinklist, NULL);// 160 | pthread_mutex_init (&mutex_sqlite, NULL); 161 | pthread_mutex_init (&mutex_analysis, NULL); 162 | pthread_mutex_init (&mutex_uart_cmd, NULL); 163 | pthread_mutex_init (&mutex_client_request, NULL); 164 | pthread_mutex_init (&mutex_infrared, NULL); 165 | pthread_mutex_init (&mutex_buzzer, NULL); 166 | pthread_mutex_init (&mutex_led, NULL); 167 | pthread_mutex_init (&mutex_camera, NULL); 168 | pthread_mutex_init (&mutex_sms, NULL); 169 | pthread_mutex_init (&mutex_refresh, NULL); 170 | pthread_mutex_init (&mutex_refresh_updata, NULL); 171 | pthread_mutex_init (&mutex_global, NULL); 172 | pthread_mutex_init (&mutex_linklist, NULL); 173 | pthread_mutex_init (&mutex_client_send, NULL); 174 | 175 | pthread_cond_init (&cond_client_send, NULL); 176 | pthread_cond_init (&cond_sqlite, NULL); 177 | pthread_cond_init (&cond_analysis, NULL); 178 | 179 | pthread_cond_init (&cond_uart_cmd, NULL); 180 | pthread_cond_init (&cond_client_request, NULL); 181 | pthread_cond_init (&cond_infrared, NULL); 182 | pthread_cond_init (&cond_buzzer, NULL); 183 | pthread_cond_init (&cond_led, NULL); 184 | pthread_cond_init (&cond_camera, NULL); 185 | pthread_cond_init (&cond_sms, NULL); 186 | pthread_cond_init (&cond_refresh, NULL); 187 | pthread_cond_init (&cond_refresh_updata, NULL); 188 | 189 | //signal (SIGINT, ReleaseResource); 190 | // 191 | pthread_create (&id_sqlite, 0, pthread_sqlite, NULL); 192 | sleep (1); 193 | pthread_create (&id_analysis, 0, pthread_analysis, NULL); 194 | pthread_create (&id_client_send, 0, pthread_client_send, NULL); 195 | pthread_create (&id_transfer, 0, pthread_transfer, NULL); 196 | sleep (1); 197 | pthread_create (&id_uart_cmd, 0, pthread_uart_cmd, NULL); 198 | pthread_create (&id_client_request, 0, pthread_client_request, NULL); 199 | pthread_create (&id_infrared, 0, pthread_infrared, NULL); 200 | pthread_create (&id_buzzer, 0, pthread_buzzer, NULL); 201 | pthread_create (&id_led, 0, pthread_led, NULL); 202 | pthread_create (&id_camera, 0, pthread_camera, NULL); 203 | pthread_create (&id_sms, 0, pthread_sms, NULL); 204 | pthread_create (&id_refresh, 0, pthread_refresh, NULL); 205 | // 206 | pthread_join (id_sqlite, NULL); 207 | 208 | pthread_join (id_client_send, NULL); 209 | printf ("g1\n"); 210 | pthread_join (id_analysis, NULL); 211 | printf ("g2\n"); 212 | pthread_join (id_transfer, NULL); 213 | printf ("g3\n"); 214 | pthread_join (id_uart_cmd, NULL); 215 | printf ("g4\n"); 216 | pthread_join (id_client_request, NULL); 217 | printf ("g5\n"); 218 | pthread_join (id_infrared, NULL); 219 | printf ("g6\n"); 220 | pthread_join (id_buzzer, NULL); 221 | printf ("g7\n"); 222 | pthread_join (id_led, NULL); 223 | printf ("g8\n"); 224 | pthread_join (id_camera, NULL); 225 | printf ("g9\n"); 226 | pthread_join (id_sms, NULL); 227 | printf ("g10\n"); 228 | pthread_join (id_refresh, NULL); 229 | printf ("g11\n"); 230 | 231 | return 0; 232 | } 233 | -------------------------------------------------------------------------------- /pthread_analysis.c: -------------------------------------------------------------------------------- 1 | #include "data_global.h" 2 | #include "link_list.h" 3 | #include "sqlite_link_list.h" 4 | 5 | struct getEnvMsg 6 | { 7 | unsigned char sto_no; 8 | unsigned char tem[2]; 9 | unsigned char hum[2]; 10 | unsigned char x; 11 | unsigned char y; 12 | unsigned char z; 13 | unsigned int ill; 14 | unsigned int battery; 15 | unsigned int adc; 16 | }; 17 | 18 | struct getGoodsMsg 19 | { 20 | unsigned char sto_no; 21 | unsigned char io; 22 | unsigned char goodsno; 23 | unsigned char goodsnum; 24 | }; 25 | 26 | extern linklist linkHead; 27 | extern linklist slinkHead; 28 | 29 | extern pthread_mutex_t mutex_linklist; 30 | extern pthread_mutex_t mutex_slinklist; 31 | extern pthread_mutex_t mutex_analysis; 32 | extern pthread_mutex_t mutex_global; 33 | extern pthread_mutex_t mutex_sms; 34 | extern pthread_mutex_t mutex_buzzer; 35 | 36 | extern pthread_cond_t cond_analysis; 37 | extern pthread_cond_t cond_sqlite; 38 | extern pthread_cond_t cond_refresh; 39 | extern pthread_cond_t cond_buzzer; 40 | extern pthread_cond_t cond_sms; 41 | 42 | char tem_alarm_status[STORAGE_NUM] = {0}; 43 | char hum_alarm_status[STORAGE_NUM] = {0}; 44 | char ill_alarm_status[STORAGE_NUM] = {0}; 45 | char beep_status[STORAGE_NUM] = {0}; 46 | 47 | extern unsigned char dev_sms_mask; 48 | 49 | extern int msgid; 50 | extern int dev_buzzer_mask; 51 | extern struct env_info_clien_addr all_info_RT; 52 | 53 | float dota_atof (char unitl) 54 | { 55 | if (unitl > 100) 56 | { 57 | return unitl / 1000.0; 58 | } 59 | else if (unitl > 10) 60 | { 61 | return unitl / 100.0; 62 | } 63 | else 64 | { 65 | return unitl / 10.0; 66 | } 67 | } 68 | int dota_atoi (const char * cDecade) 69 | { 70 | int result = 0; 71 | if (' ' != cDecade[0]) 72 | { 73 | result = (cDecade[0] - 48) * 10; 74 | } 75 | result += cDecade[1] - 48; 76 | return result; 77 | } 78 | 79 | float dota_adc (unsigned int ratio) 80 | { 81 | return ((ratio * 3.6) / 1024); 82 | } 83 | 84 | int storageAllgood (int sto_no) 85 | { 86 | if ((tem_alarm_status[sto_no] + hum_alarm_status[sto_no] + ill_alarm_status[sto_no]) == 0) 87 | { 88 | return 0; 89 | } 90 | return 1; 91 | } 92 | 93 | int checkEnv (int sto_no, struct storage_info *p) 94 | { 95 | char flag = 0; 96 | static char a8_beep_status = 0; 97 | 98 | if (0 == tem_alarm_status[sto_no]) 99 | { 100 | if (p->temperature > p->temperatureMAX) 101 | { 102 | sendMsgQueue (MSG_LED, MSG_LED_TEM_ON); 103 | sendMsgQueue (MSG_M0, MSG_M0_FAN_ON3 | sto_no << 6); 104 | p->fan_status = 3; 105 | tem_alarm_status[sto_no] = 2; 106 | flag = 1; 107 | } 108 | else if (p->temperature < p->temperatureMIN) 109 | { 110 | sendMsgQueue (MSG_LED, MSG_LED_TEM_ON); 111 | sendMsgQueue (MSG_M0, MSG_M0_FAN_OFF | sto_no << 6); 112 | p->fan_status = 0; 113 | tem_alarm_status[sto_no] = 1; 114 | flag = 1; 115 | } 116 | 117 | if (flag) 118 | { 119 | pthread_mutex_lock (&mutex_sms); 120 | dev_sms_mask = SMS_TEM; 121 | pthread_mutex_unlock (&mutex_sms); 122 | pthread_cond_signal (&cond_sms); 123 | flag = 0; 124 | if (beep_status[sto_no] == 0) 125 | { 126 | beep_status[sto_no] = 1; 127 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_ON | sto_no << 6); 128 | } 129 | if (a8_beep_status == 0) 130 | { 131 | a8_beep_status = 1; 132 | sendMsgQueue (MSG_BEEP, MSG_M0_BEEP_ON); 133 | } 134 | } 135 | } 136 | else 137 | { 138 | if (p->temperature < p->temperatureMAX && p->temperature > p->temperatureMIN) 139 | { 140 | sendMsgQueue (MSG_LED, MSG_LED_TEM_OFF); 141 | sendMsgQueue (MSG_M0, MSG_M0_FAN_OFF | sto_no << 6); 142 | p->fan_status = 0; 143 | tem_alarm_status[sto_no] = 0; 144 | if (!storageAllgood (sto_no)) 145 | { 146 | beep_status[sto_no] = 0; 147 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_OFF | sto_no << 6); 148 | a8_beep_status = 0; 149 | sendMsgQueue (MSG_BEEP, MSG_BEEP_OFF); 150 | } 151 | } 152 | } 153 | 154 | if (0 == hum_alarm_status[sto_no]) 155 | { 156 | if (p->humidity > p->humidityMAX) 157 | { 158 | sendMsgQueue (MSG_LED, MSG_LED_HUM_ON); 159 | sendMsgQueue (MSG_M0, MSG_M0_FAN_ON3 | sto_no << 6); 160 | p->fan_status = 3; 161 | hum_alarm_status[sto_no] = 2; 162 | flag = 1; 163 | } 164 | else if (p->humidity < p->humidityMIN) 165 | { 166 | sendMsgQueue (MSG_LED, MSG_LED_HUM_ON); 167 | sendMsgQueue (MSG_M0, MSG_M0_FAN_OFF | sto_no << 6); 168 | p->fan_status = 0; 169 | hum_alarm_status[sto_no] = 1; 170 | flag = 1; 171 | } 172 | 173 | if (flag) 174 | { 175 | pthread_mutex_lock (&mutex_sms); 176 | dev_sms_mask = SMS_HUM; 177 | pthread_mutex_unlock (&mutex_sms); 178 | pthread_cond_signal (&cond_sms); 179 | flag = 0; 180 | if (beep_status[sto_no] == 0) 181 | { 182 | beep_status[sto_no] = 1; 183 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_ON | sto_no << 6); 184 | } 185 | if (a8_beep_status == 0) 186 | { 187 | a8_beep_status = 1; 188 | sendMsgQueue (MSG_BEEP, MSG_M0_BEEP_ON); 189 | } 190 | 191 | } 192 | } 193 | else 194 | { 195 | if (p->humidity < p->humidityMAX && p->humidity > p->humidityMIN) 196 | { 197 | sendMsgQueue (MSG_LED, MSG_LED_HUM_OFF); 198 | sendMsgQueue (MSG_M0, MSG_M0_FAN_OFF | sto_no << 6); 199 | p->fan_status = 0; 200 | hum_alarm_status[sto_no] = 0; 201 | if (!storageAllgood (sto_no)) 202 | { 203 | beep_status[sto_no] = 0; 204 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_OFF | sto_no << 6); 205 | a8_beep_status = 0; 206 | sendMsgQueue (MSG_BEEP, MSG_BEEP_OFF); 207 | 208 | } 209 | } 210 | } 211 | 212 | if (0 == ill_alarm_status[sto_no]) 213 | { 214 | if (p->illumination > p->illuminationMAX) 215 | { 216 | sendMsgQueue (MSG_LED, MSG_LED_ILL_ON); 217 | sendMsgQueue (MSG_M0, MSG_M0_LED_OFF | sto_no << 6); 218 | p->led_status = 0; 219 | ill_alarm_status[sto_no] = 2; 220 | flag = 1; 221 | } 222 | else if (p->illumination < p->illuminationMIN) 223 | { 224 | sendMsgQueue (MSG_LED, MSG_LED_ILL_ON); 225 | sendMsgQueue (MSG_M0, MSG_M0_LED_ON | sto_no << 6); 226 | p->led_status = 1; 227 | ill_alarm_status[sto_no] = 1; 228 | flag = 1; 229 | } 230 | 231 | if (flag) 232 | { 233 | pthread_mutex_lock (&mutex_sms); 234 | dev_sms_mask = SMS_ILL; 235 | pthread_mutex_unlock (&mutex_sms); 236 | pthread_cond_signal (&cond_sms); 237 | flag = 0; 238 | if (beep_status[sto_no] == 0) 239 | { 240 | beep_status[sto_no] = 1; 241 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_ON | sto_no << 6); 242 | } 243 | if (a8_beep_status == 0) 244 | { 245 | a8_beep_status = 1; 246 | sendMsgQueue (MSG_BEEP, MSG_M0_BEEP_ON); 247 | } 248 | } 249 | } 250 | else if (ill_alarm_status[sto_no]) 251 | { 252 | if (p->illumination < p->illuminationMAX && p->illumination > p->illuminationMIN) 253 | { 254 | sendMsgQueue (MSG_LED, MSG_LED_ILL_OFF); 255 | sendMsgQueue (MSG_M0, MSG_M0_LED_OFF | sto_no << 6); 256 | p->led_status = 0; 257 | ill_alarm_status[sto_no] = 0; 258 | if (!storageAllgood (sto_no)) 259 | { 260 | beep_status[sto_no] = 0; 261 | sendMsgQueue (MSG_M0, MSG_M0_BEEP_OFF | sto_no << 6); 262 | a8_beep_status = 0; 263 | sendMsgQueue (MSG_BEEP, MSG_BEEP_OFF); 264 | } 265 | } 266 | } 267 | 268 | 269 | 270 | return 0; 271 | } 272 | 273 | void getEnvPackage (link_datatype *buf) 274 | { 275 | struct getEnvMsg pack; 276 | memcpy (&pack, buf->text, 20); 277 | int sto_no = pack.sto_no; 278 | 279 | pthread_mutex_lock (&mutex_global); 280 | struct storage_info current = all_info_RT.storage_no[sto_no]; 281 | pthread_mutex_unlock (&mutex_global); 282 | 283 | current.storage_status = 1; 284 | current.x = pack.x; 285 | current.y = pack.y; 286 | current.z = pack.z; 287 | current.temperature = pack.tem[0] + dota_atof (pack.tem[1]); 288 | current.humidity = pack.hum[0] + dota_atof (pack.hum[1]); 289 | current.illumination = pack.ill; 290 | current.battery = dota_adc (pack.battery); 291 | current.adc = dota_adc (pack.adc); 292 | 293 | printf ("no = %d tem = %0.2f hum = %0.2f ill = %0.2f battery = %0.2f adc = %0.2f x = %d y = %d z = %d\n", sto_no, 294 | current.temperature, current.humidity, current.illumination, current.battery, current.adc, current.x, current.y, current.z); 295 | 296 | checkEnv (sto_no, ¤t); 297 | 298 | pthread_mutex_lock (&mutex_global); 299 | all_info_RT.storage_no[sto_no] = current; 300 | pthread_mutex_lock (&mutex_slinklist); 301 | sqlite_InsertLinknode (COLLECT_INSERTER, all_info_RT, sto_no, 0);//0,0分别是仓库号和货物种类号 302 | pthread_mutex_unlock (&mutex_slinklist); 303 | pthread_mutex_unlock (&mutex_global); 304 | 305 | pthread_cond_signal (&cond_refresh); 306 | pthread_cond_signal (&cond_sqlite); 307 | 308 | 309 | return ; 310 | } 311 | 312 | void getGoodsPackage (link_datatype *buf) 313 | { 314 | struct getGoodsMsg pack; 315 | memcpy (&pack, buf->text, 16); 316 | int sto_no = pack.sto_no; 317 | 318 | pthread_mutex_lock (&mutex_global); 319 | struct storage_info current = all_info_RT.storage_no[sto_no]; 320 | pthread_mutex_unlock (&mutex_global); 321 | 322 | current.storage_status = 1; 323 | current.goods_info[pack.goodsno].goods_type = pack.goodsno; 324 | current.goods_info[pack.goodsno].goods_count = pack.goodsnum; 325 | 326 | printf ("sto_no = %d, io = %c goods_type = %d, goods_num = %d\n", sto_no, pack.io, current.goods_info[pack.goodsno].goods_type, current.goods_info[pack.goodsno].goods_count); 327 | 328 | pthread_mutex_lock (&mutex_global); 329 | all_info_RT.storage_no[sto_no] = current; 330 | pthread_mutex_lock (&mutex_slinklist); 331 | if (pack.io == 'I') 332 | { 333 | sqlite_InsertLinknode (GOODS_ADD, all_info_RT, sto_no, pack.goodsno);//0,0分别是仓库号和货物种类号 334 | } 335 | else if (pack.io == 'O') 336 | { 337 | sqlite_InsertLinknode (GOODS_REDUCE, all_info_RT, sto_no, pack.goodsno);//0,0分别是仓库号和货物种类号 338 | } 339 | pthread_mutex_unlock (&mutex_slinklist); 340 | pthread_mutex_unlock (&mutex_global); 341 | 342 | pthread_cond_signal (&cond_refresh); 343 | pthread_cond_signal (&cond_sqlite); 344 | return ; 345 | } 346 | 347 | 348 | void *pthread_analysis (void *arg) 349 | {signal(SIGPIPE, SIG_IGN); 350 | linklist node; 351 | link_datatype buf; 352 | printf ("pthread_analysis is ok\n"); 353 | while (1) 354 | { 355 | pthread_mutex_lock (&mutex_analysis); 356 | pthread_cond_wait (&cond_analysis, &mutex_analysis); 357 | pthread_mutex_unlock (&mutex_analysis); 358 | 359 | // printf ("wake pthread_analysis wake up\n"); 360 | while (1) 361 | { 362 | pthread_mutex_lock (&mutex_linklist); 363 | if ((node = GetLinknode (linkHead)) == NULL) 364 | { 365 | pthread_mutex_unlock (&mutex_linklist); 366 | break; 367 | } 368 | buf = node->data; 369 | free (node); 370 | pthread_mutex_unlock (&mutex_linklist); 371 | 372 | if ('e' == buf.msg_type) 373 | { 374 | getEnvPackage (&buf); 375 | } 376 | else if ('r' == buf.msg_type) 377 | { 378 | getGoodsPackage (&buf); 379 | } 380 | } 381 | } 382 | return 0; 383 | } 384 | -------------------------------------------------------------------------------- /include/sqlite3ext.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** 2006 June 7 3 | ** 4 | ** The author disclaims copyright to this source code. In place of 5 | ** a legal notice, here is a blessing: 6 | ** 7 | ** May you do good and not evil. 8 | ** May you find forgiveness for yourself and forgive others. 9 | ** May you share freely, never taking more than you give. 10 | ** 11 | ************************************************************************* 12 | ** This header file defines the SQLite interface for use by 13 | ** shared libraries that want to be imported as extensions into 14 | ** an SQLite instance. Shared libraries that intend to be loaded 15 | ** as extensions by SQLite should #include this file instead of 16 | ** sqlite3.h. 17 | */ 18 | #ifndef _SQLITE3EXT_H_ 19 | #define _SQLITE3EXT_H_ 20 | #include "sqlite3.h" 21 | 22 | typedef struct sqlite3_api_routines sqlite3_api_routines; 23 | 24 | /* 25 | ** The following structure holds pointers to all of the SQLite API 26 | ** routines. 27 | ** 28 | ** WARNING: In order to maintain backwards compatibility, add new 29 | ** interfaces to the end of this structure only. If you insert new 30 | ** interfaces in the middle of this structure, then older different 31 | ** versions of SQLite will not be able to load each others' shared 32 | ** libraries! 33 | */ 34 | struct sqlite3_api_routines { 35 | void * (*aggregate_context)(sqlite3_context*,int nBytes); 36 | int (*aggregate_count)(sqlite3_context*); 37 | int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*)); 38 | int (*bind_double)(sqlite3_stmt*,int,double); 39 | int (*bind_int)(sqlite3_stmt*,int,int); 40 | int (*bind_int64)(sqlite3_stmt*,int,sqlite_int64); 41 | int (*bind_null)(sqlite3_stmt*,int); 42 | int (*bind_parameter_count)(sqlite3_stmt*); 43 | int (*bind_parameter_index)(sqlite3_stmt*,const char*zName); 44 | const char * (*bind_parameter_name)(sqlite3_stmt*,int); 45 | int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*)); 46 | int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*)); 47 | int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*); 48 | int (*busy_handler)(sqlite3*,int(*)(void*,int),void*); 49 | int (*busy_timeout)(sqlite3*,int ms); 50 | int (*changes)(sqlite3*); 51 | int (*close)(sqlite3*); 52 | int (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const char*)); 53 | int (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const void*)); 54 | const void * (*column_blob)(sqlite3_stmt*,int iCol); 55 | int (*column_bytes)(sqlite3_stmt*,int iCol); 56 | int (*column_bytes16)(sqlite3_stmt*,int iCol); 57 | int (*column_count)(sqlite3_stmt*pStmt); 58 | const char * (*column_database_name)(sqlite3_stmt*,int); 59 | const void * (*column_database_name16)(sqlite3_stmt*,int); 60 | const char * (*column_decltype)(sqlite3_stmt*,int i); 61 | const void * (*column_decltype16)(sqlite3_stmt*,int); 62 | double (*column_double)(sqlite3_stmt*,int iCol); 63 | int (*column_int)(sqlite3_stmt*,int iCol); 64 | sqlite_int64 (*column_int64)(sqlite3_stmt*,int iCol); 65 | const char * (*column_name)(sqlite3_stmt*,int); 66 | const void * (*column_name16)(sqlite3_stmt*,int); 67 | const char * (*column_origin_name)(sqlite3_stmt*,int); 68 | const void * (*column_origin_name16)(sqlite3_stmt*,int); 69 | const char * (*column_table_name)(sqlite3_stmt*,int); 70 | const void * (*column_table_name16)(sqlite3_stmt*,int); 71 | const unsigned char * (*column_text)(sqlite3_stmt*,int iCol); 72 | const void * (*column_text16)(sqlite3_stmt*,int iCol); 73 | int (*column_type)(sqlite3_stmt*,int iCol); 74 | sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol); 75 | void * (*commit_hook)(sqlite3*,int(*)(void*),void*); 76 | int (*complete)(const char*sql); 77 | int (*complete16)(const void*sql); 78 | int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*)); 79 | int (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,int,const void*,int,const void*)); 80 | int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*)); 81 | int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*)); 82 | int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); 83 | int (*data_count)(sqlite3_stmt*pStmt); 84 | sqlite3 * (*db_handle)(sqlite3_stmt*); 85 | int (*declare_vtab)(sqlite3*,const char*); 86 | int (*enable_shared_cache)(int); 87 | int (*errcode)(sqlite3*db); 88 | const char * (*errmsg)(sqlite3*); 89 | const void * (*errmsg16)(sqlite3*); 90 | int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**); 91 | int (*expired)(sqlite3_stmt*); 92 | int (*finalize)(sqlite3_stmt*pStmt); 93 | void (*free)(void*); 94 | void (*free_table)(char**result); 95 | int (*get_autocommit)(sqlite3*); 96 | void * (*get_auxdata)(sqlite3_context*,int); 97 | int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**); 98 | int (*global_recover)(void); 99 | void (*interruptx)(sqlite3*); 100 | sqlite_int64 (*last_insert_rowid)(sqlite3*); 101 | const char * (*libversion)(void); 102 | int (*libversion_number)(void); 103 | void *(*malloc)(int); 104 | char * (*mprintf)(const char*,...); 105 | int (*open)(const char*,sqlite3**); 106 | int (*open16)(const void*,sqlite3**); 107 | int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); 108 | int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); 109 | void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void*); 110 | void (*progress_handler)(sqlite3*,int,int(*)(void*),void*); 111 | void *(*realloc)(void*,int); 112 | int (*reset)(sqlite3_stmt*pStmt); 113 | void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*)); 114 | void (*result_double)(sqlite3_context*,double); 115 | void (*result_error)(sqlite3_context*,const char*,int); 116 | void (*result_error16)(sqlite3_context*,const void*,int); 117 | void (*result_int)(sqlite3_context*,int); 118 | void (*result_int64)(sqlite3_context*,sqlite_int64); 119 | void (*result_null)(sqlite3_context*); 120 | void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*)); 121 | void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*)); 122 | void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*)); 123 | void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*)); 124 | void (*result_value)(sqlite3_context*,sqlite3_value*); 125 | void * (*rollback_hook)(sqlite3*,void(*)(void*),void*); 126 | int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,const char*,const char*),void*); 127 | void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); 128 | char * (*snprintf)(int,char*,const char*,...); 129 | int (*step)(sqlite3_stmt*); 130 | int (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,char const**,char const**,int*,int*,int*); 131 | void (*thread_cleanup)(void); 132 | int (*total_changes)(sqlite3*); 133 | void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*); 134 | int (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*); 135 | void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,sqlite_int64),void*); 136 | void * (*user_data)(sqlite3_context*); 137 | const void * (*value_blob)(sqlite3_value*); 138 | int (*value_bytes)(sqlite3_value*); 139 | int (*value_bytes16)(sqlite3_value*); 140 | double (*value_double)(sqlite3_value*); 141 | int (*value_int)(sqlite3_value*); 142 | sqlite_int64 (*value_int64)(sqlite3_value*); 143 | int (*value_numeric_type)(sqlite3_value*); 144 | const unsigned char * (*value_text)(sqlite3_value*); 145 | const void * (*value_text16)(sqlite3_value*); 146 | const void * (*value_text16be)(sqlite3_value*); 147 | const void * (*value_text16le)(sqlite3_value*); 148 | int (*value_type)(sqlite3_value*); 149 | char *(*vmprintf)(const char*,va_list); 150 | /* Added ??? */ 151 | int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); 152 | /* Added by 3.3.13 */ 153 | int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); 154 | int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); 155 | int (*clear_bindings)(sqlite3_stmt*); 156 | /* Added by 3.4.1 */ 157 | int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,void (*xDestroy)(void *)); 158 | /* Added by 3.5.0 */ 159 | int (*bind_zeroblob)(sqlite3_stmt*,int,int); 160 | int (*blob_bytes)(sqlite3_blob*); 161 | int (*blob_close)(sqlite3_blob*); 162 | int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,int,sqlite3_blob**); 163 | int (*blob_read)(sqlite3_blob*,void*,int,int); 164 | int (*blob_write)(sqlite3_blob*,const void*,int,int); 165 | int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*),void(*)(void*)); 166 | int (*file_control)(sqlite3*,const char*,int,void*); 167 | sqlite3_int64 (*memory_highwater)(int); 168 | sqlite3_int64 (*memory_used)(void); 169 | sqlite3_mutex *(*mutex_alloc)(int); 170 | void (*mutex_enter)(sqlite3_mutex*); 171 | void (*mutex_free)(sqlite3_mutex*); 172 | void (*mutex_leave)(sqlite3_mutex*); 173 | int (*mutex_try)(sqlite3_mutex*); 174 | int (*open_v2)(const char*,sqlite3**,int,const char*); 175 | int (*release_memory)(int); 176 | void (*result_error_nomem)(sqlite3_context*); 177 | void (*result_error_toobig)(sqlite3_context*); 178 | int (*sleep)(int); 179 | void (*soft_heap_limit)(int); 180 | sqlite3_vfs *(*vfs_find)(const char*); 181 | int (*vfs_register)(sqlite3_vfs*,int); 182 | int (*vfs_unregister)(sqlite3_vfs*); 183 | int (*xthreadsafe)(void); 184 | void (*result_zeroblob)(sqlite3_context*,int); 185 | void (*result_error_code)(sqlite3_context*,int); 186 | int (*test_control)(int, ...); 187 | void (*randomness)(int,void*); 188 | sqlite3 *(*context_db_handle)(sqlite3_context*); 189 | int (*extended_result_codes)(sqlite3*,int); 190 | int (*limit)(sqlite3*,int,int); 191 | sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*); 192 | const char *(*sql)(sqlite3_stmt*); 193 | int (*status)(int,int*,int*,int); 194 | }; 195 | 196 | /* 197 | ** The following macros redefine the API routines so that they are 198 | ** redirected throught the global sqlite3_api structure. 199 | ** 200 | ** This header file is also used by the loadext.c source file 201 | ** (part of the main SQLite library - not an extension) so that 202 | ** it can get access to the sqlite3_api_routines structure 203 | ** definition. But the main library does not want to redefine 204 | ** the API. So the redefinition macros are only valid if the 205 | ** SQLITE_CORE macros is undefined. 206 | */ 207 | #ifndef SQLITE_CORE 208 | #define sqlite3_aggregate_context sqlite3_api->aggregate_context 209 | #ifndef SQLITE_OMIT_DEPRECATED 210 | #define sqlite3_aggregate_count sqlite3_api->aggregate_count 211 | #endif 212 | #define sqlite3_bind_blob sqlite3_api->bind_blob 213 | #define sqlite3_bind_double sqlite3_api->bind_double 214 | #define sqlite3_bind_int sqlite3_api->bind_int 215 | #define sqlite3_bind_int64 sqlite3_api->bind_int64 216 | #define sqlite3_bind_null sqlite3_api->bind_null 217 | #define sqlite3_bind_parameter_count sqlite3_api->bind_parameter_count 218 | #define sqlite3_bind_parameter_index sqlite3_api->bind_parameter_index 219 | #define sqlite3_bind_parameter_name sqlite3_api->bind_parameter_name 220 | #define sqlite3_bind_text sqlite3_api->bind_text 221 | #define sqlite3_bind_text16 sqlite3_api->bind_text16 222 | #define sqlite3_bind_value sqlite3_api->bind_value 223 | #define sqlite3_busy_handler sqlite3_api->busy_handler 224 | #define sqlite3_busy_timeout sqlite3_api->busy_timeout 225 | #define sqlite3_changes sqlite3_api->changes 226 | #define sqlite3_close sqlite3_api->close 227 | #define sqlite3_collation_needed sqlite3_api->collation_needed 228 | #define sqlite3_collation_needed16 sqlite3_api->collation_needed16 229 | #define sqlite3_column_blob sqlite3_api->column_blob 230 | #define sqlite3_column_bytes sqlite3_api->column_bytes 231 | #define sqlite3_column_bytes16 sqlite3_api->column_bytes16 232 | #define sqlite3_column_count sqlite3_api->column_count 233 | #define sqlite3_column_database_name sqlite3_api->column_database_name 234 | #define sqlite3_column_database_name16 sqlite3_api->column_database_name16 235 | #define sqlite3_column_decltype sqlite3_api->column_decltype 236 | #define sqlite3_column_decltype16 sqlite3_api->column_decltype16 237 | #define sqlite3_column_double sqlite3_api->column_double 238 | #define sqlite3_column_int sqlite3_api->column_int 239 | #define sqlite3_column_int64 sqlite3_api->column_int64 240 | #define sqlite3_column_name sqlite3_api->column_name 241 | #define sqlite3_column_name16 sqlite3_api->column_name16 242 | #define sqlite3_column_origin_name sqlite3_api->column_origin_name 243 | #define sqlite3_column_origin_name16 sqlite3_api->column_origin_name16 244 | #define sqlite3_column_table_name sqlite3_api->column_table_name 245 | #define sqlite3_column_table_name16 sqlite3_api->column_table_name16 246 | #define sqlite3_column_text sqlite3_api->column_text 247 | #define sqlite3_column_text16 sqlite3_api->column_text16 248 | #define sqlite3_column_type sqlite3_api->column_type 249 | #define sqlite3_column_value sqlite3_api->column_value 250 | #define sqlite3_commit_hook sqlite3_api->commit_hook 251 | #define sqlite3_complete sqlite3_api->complete 252 | #define sqlite3_complete16 sqlite3_api->complete16 253 | #define sqlite3_create_collation sqlite3_api->create_collation 254 | #define sqlite3_create_collation16 sqlite3_api->create_collation16 255 | #define sqlite3_create_function sqlite3_api->create_function 256 | #define sqlite3_create_function16 sqlite3_api->create_function16 257 | #define sqlite3_create_module sqlite3_api->create_module 258 | #define sqlite3_create_module_v2 sqlite3_api->create_module_v2 259 | #define sqlite3_data_count sqlite3_api->data_count 260 | #define sqlite3_db_handle sqlite3_api->db_handle 261 | #define sqlite3_declare_vtab sqlite3_api->declare_vtab 262 | #define sqlite3_enable_shared_cache sqlite3_api->enable_shared_cache 263 | #define sqlite3_errcode sqlite3_api->errcode 264 | #define sqlite3_errmsg sqlite3_api->errmsg 265 | #define sqlite3_errmsg16 sqlite3_api->errmsg16 266 | #define sqlite3_exec sqlite3_api->exec 267 | #ifndef SQLITE_OMIT_DEPRECATED 268 | #define sqlite3_expired sqlite3_api->expired 269 | #endif 270 | #define sqlite3_finalize sqlite3_api->finalize 271 | #define sqlite3_free sqlite3_api->free 272 | #define sqlite3_free_table sqlite3_api->free_table 273 | #define sqlite3_get_autocommit sqlite3_api->get_autocommit 274 | #define sqlite3_get_auxdata sqlite3_api->get_auxdata 275 | #define sqlite3_get_table sqlite3_api->get_table 276 | #ifndef SQLITE_OMIT_DEPRECATED 277 | #define sqlite3_global_recover sqlite3_api->global_recover 278 | #endif 279 | #define sqlite3_interrupt sqlite3_api->interruptx 280 | #define sqlite3_last_insert_rowid sqlite3_api->last_insert_rowid 281 | #define sqlite3_libversion sqlite3_api->libversion 282 | #define sqlite3_libversion_number sqlite3_api->libversion_number 283 | #define sqlite3_malloc sqlite3_api->malloc 284 | #define sqlite3_mprintf sqlite3_api->mprintf 285 | #define sqlite3_open sqlite3_api->open 286 | #define sqlite3_open16 sqlite3_api->open16 287 | #define sqlite3_prepare sqlite3_api->prepare 288 | #define sqlite3_prepare16 sqlite3_api->prepare16 289 | #define sqlite3_prepare_v2 sqlite3_api->prepare_v2 290 | #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 291 | #define sqlite3_profile sqlite3_api->profile 292 | #define sqlite3_progress_handler sqlite3_api->progress_handler 293 | #define sqlite3_realloc sqlite3_api->realloc 294 | #define sqlite3_reset sqlite3_api->reset 295 | #define sqlite3_result_blob sqlite3_api->result_blob 296 | #define sqlite3_result_double sqlite3_api->result_double 297 | #define sqlite3_result_error sqlite3_api->result_error 298 | #define sqlite3_result_error16 sqlite3_api->result_error16 299 | #define sqlite3_result_int sqlite3_api->result_int 300 | #define sqlite3_result_int64 sqlite3_api->result_int64 301 | #define sqlite3_result_null sqlite3_api->result_null 302 | #define sqlite3_result_text sqlite3_api->result_text 303 | #define sqlite3_result_text16 sqlite3_api->result_text16 304 | #define sqlite3_result_text16be sqlite3_api->result_text16be 305 | #define sqlite3_result_text16le sqlite3_api->result_text16le 306 | #define sqlite3_result_value sqlite3_api->result_value 307 | #define sqlite3_rollback_hook sqlite3_api->rollback_hook 308 | #define sqlite3_set_authorizer sqlite3_api->set_authorizer 309 | #define sqlite3_set_auxdata sqlite3_api->set_auxdata 310 | #define sqlite3_snprintf sqlite3_api->snprintf 311 | #define sqlite3_step sqlite3_api->step 312 | #define sqlite3_table_column_metadata sqlite3_api->table_column_metadata 313 | #define sqlite3_thread_cleanup sqlite3_api->thread_cleanup 314 | #define sqlite3_total_changes sqlite3_api->total_changes 315 | #define sqlite3_trace sqlite3_api->trace 316 | #ifndef SQLITE_OMIT_DEPRECATED 317 | #define sqlite3_transfer_bindings sqlite3_api->transfer_bindings 318 | #endif 319 | #define sqlite3_update_hook sqlite3_api->update_hook 320 | #define sqlite3_user_data sqlite3_api->user_data 321 | #define sqlite3_value_blob sqlite3_api->value_blob 322 | #define sqlite3_value_bytes sqlite3_api->value_bytes 323 | #define sqlite3_value_bytes16 sqlite3_api->value_bytes16 324 | #define sqlite3_value_double sqlite3_api->value_double 325 | #define sqlite3_value_int sqlite3_api->value_int 326 | #define sqlite3_value_int64 sqlite3_api->value_int64 327 | #define sqlite3_value_numeric_type sqlite3_api->value_numeric_type 328 | #define sqlite3_value_text sqlite3_api->value_text 329 | #define sqlite3_value_text16 sqlite3_api->value_text16 330 | #define sqlite3_value_text16be sqlite3_api->value_text16be 331 | #define sqlite3_value_text16le sqlite3_api->value_text16le 332 | #define sqlite3_value_type sqlite3_api->value_type 333 | #define sqlite3_vmprintf sqlite3_api->vmprintf 334 | #define sqlite3_overload_function sqlite3_api->overload_function 335 | #define sqlite3_prepare_v2 sqlite3_api->prepare_v2 336 | #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 337 | #define sqlite3_clear_bindings sqlite3_api->clear_bindings 338 | #define sqlite3_bind_zeroblob sqlite3_api->bind_zeroblob 339 | #define sqlite3_blob_bytes sqlite3_api->blob_bytes 340 | #define sqlite3_blob_close sqlite3_api->blob_close 341 | #define sqlite3_blob_open sqlite3_api->blob_open 342 | #define sqlite3_blob_read sqlite3_api->blob_read 343 | #define sqlite3_blob_write sqlite3_api->blob_write 344 | #define sqlite3_create_collation_v2 sqlite3_api->create_collation_v2 345 | #define sqlite3_file_control sqlite3_api->file_control 346 | #define sqlite3_memory_highwater sqlite3_api->memory_highwater 347 | #define sqlite3_memory_used sqlite3_api->memory_used 348 | #define sqlite3_mutex_alloc sqlite3_api->mutex_alloc 349 | #define sqlite3_mutex_enter sqlite3_api->mutex_enter 350 | #define sqlite3_mutex_free sqlite3_api->mutex_free 351 | #define sqlite3_mutex_leave sqlite3_api->mutex_leave 352 | #define sqlite3_mutex_try sqlite3_api->mutex_try 353 | #define sqlite3_open_v2 sqlite3_api->open_v2 354 | #define sqlite3_release_memory sqlite3_api->release_memory 355 | #define sqlite3_result_error_nomem sqlite3_api->result_error_nomem 356 | #define sqlite3_result_error_toobig sqlite3_api->result_error_toobig 357 | #define sqlite3_sleep sqlite3_api->sleep 358 | #define sqlite3_soft_heap_limit sqlite3_api->soft_heap_limit 359 | #define sqlite3_vfs_find sqlite3_api->vfs_find 360 | #define sqlite3_vfs_register sqlite3_api->vfs_register 361 | #define sqlite3_vfs_unregister sqlite3_api->vfs_unregister 362 | #define sqlite3_threadsafe sqlite3_api->xthreadsafe 363 | #define sqlite3_result_zeroblob sqlite3_api->result_zeroblob 364 | #define sqlite3_result_error_code sqlite3_api->result_error_code 365 | #define sqlite3_test_control sqlite3_api->test_control 366 | #define sqlite3_randomness sqlite3_api->randomness 367 | #define sqlite3_context_db_handle sqlite3_api->context_db_handle 368 | #define sqlite3_extended_result_codes sqlite3_api->extended_result_codes 369 | #define sqlite3_limit sqlite3_api->limit 370 | #define sqlite3_next_stmt sqlite3_api->next_stmt 371 | #define sqlite3_sql sqlite3_api->sql 372 | #define sqlite3_status sqlite3_api->status 373 | #endif /* SQLITE_CORE */ 374 | 375 | #define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api = 0; 376 | #define SQLITE_EXTENSION_INIT2(v) sqlite3_api = v; 377 | 378 | #endif /* _SQLITE3EXT_H_ */ 379 | -------------------------------------------------------------------------------- /tags: -------------------------------------------------------------------------------- 1 | !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ 2 | !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ 3 | !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ 4 | !_TAG_PROGRAM_NAME Exuberant Ctags // 5 | !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ 6 | !_TAG_PROGRAM_VERSION 5.8 // 7 | AFLAGS Makefile /^AFLAGS=-Wall -c -g$/;" m 8 | BUZZER_OFF data_global.h 36;" d 9 | BUZZER_ON data_global.h 37;" d 10 | CC Makefile /^CC=arm-none-linux-gnueabi-gcc$/;" m 11 | COLLECT_CURRENT_GET data_global.h 92;" d 12 | COLLECT_INSERTER data_global.h 90;" d 13 | COLLECT_TIME_GET data_global.h 91;" d 14 | CreateEmptyCacheList dota_cache.c /^dota_cache_list CreateEmptyCacheList ()$/;" f 15 | CreateEmptyLinklist link_list.c /^linklist CreateEmptyLinklist ()$/;" f 16 | Create_table pthread_sqlite.c /^int Create_table (void)$/;" f 17 | DEBUG_SQLITE pthread_sqlite.h 8;" d 18 | DEV_BUZZER data_global.h 29;" d 19 | DEV_CAMERA data_global.h 31;" d 20 | DEV_GPRS data_global.h 26;" d 21 | DEV_INFRARED data_global.h 30;" d 22 | DEV_LED data_global.h 28;" d 23 | DEV_ZIGBEE data_global.h 27;" d 24 | ENV_GET data_global.h 89;" d 25 | ENV_UPDATE data_global.h 88;" d 26 | EmptyCacheList dota_cache.c /^int EmptyCacheList (dota_cache_list h)$/;" f 27 | EmptyLinklist link_list.c /^int EmptyLinklist (linklist h)$/;" f 28 | From_to_send pthread_sms.c /^struct From_to_send{$/;" s file: 29 | GOODS_ADD data_global.h 93;" d 30 | GOODS_GET data_global.h 95;" d 31 | GOODS_IN data_global.h 48;" d 32 | GOODS_NUM data_global.h 47;" d 33 | GOODS_OUT data_global.h 49;" d 34 | GOODS_REDUCE data_global.h 94;" d 35 | GetCacheNode dota_cache.c /^dota_cache_list GetCacheNode (dota_cache_list h, dota_cache_list *t)$/;" f 36 | GetLinknode link_list.c /^linklist GetLinknode (linklist h)$/;" f 37 | HUMIDITY_MAX pthread_sqlite.c 6;" d file: 38 | HUMIDITY_MIN pthread_sqlite.c 7;" d file: 39 | IFNOCICE pthread_sqlite.c 12;" d file: 40 | ILLUMINATION_MAX pthread_sqlite.c 8;" d file: 41 | ILLUMINATION_MIN pthread_sqlite.c 9;" d file: 42 | INTERVAL pthread_sqlite.c 13;" d file: 43 | Init_table_env pthread_sqlite.c /^int Init_table_env (void)$/;" f 44 | InsertCacheNode dota_cache.c /^int InsertCacheNode (dota_cache_list *t, dota_cache_data x)$/;" f 45 | InsertLinknode link_list.c /^int InsertLinknode (link_datatype x)$/;" f 46 | LDFLAGS Makefile /^LDFLAGS= -lpthread -L .\/lib -lsqlite3$/;" m 47 | LED_OFF data_global.h 35;" d 48 | LED_ON data_global.h 34;" d 49 | LEN_ENV pthread_transfer.c 4;" d file: 50 | LEN_RFID pthread_transfer.c 5;" d file: 51 | MODE pthread_sqlite.c 11;" d file: 52 | MSGTYPE_ACK data_global.h 43;" d 53 | MSGTYPE_ENV data_global.h 41;" d 54 | MSGTYPE_GOODS data_global.h 42;" d 55 | MSG_BEEP data_global.h 66;" d 56 | MSG_BEEP_OFF data_global.h 67;" d 57 | MSG_BEEP_ON data_global.h 68;" d 58 | MSG_CONNECT_SUCCESS data_global.h 71;" d 59 | MSG_LED data_global.h 58;" d 60 | MSG_LED_HUM_OFF data_global.h 62;" d 61 | MSG_LED_HUM_ON data_global.h 61;" d 62 | MSG_LED_ILL_OFF data_global.h 64;" d 63 | MSG_LED_ILL_ON data_global.h 63;" d 64 | MSG_LED_TEM_OFF data_global.h 60;" d 65 | MSG_LED_TEM_ON data_global.h 59;" d 66 | MSG_M0 data_global.h 70;" d 67 | MSG_M0_BEEP_AU_OFF data_global.h 79;" d 68 | MSG_M0_BEEP_AU_ON data_global.h 80;" d 69 | MSG_M0_BEEP_OFF data_global.h 77;" d 70 | MSG_M0_BEEP_ON data_global.h 78;" d 71 | MSG_M0_FAN_OFF data_global.h 72;" d 72 | MSG_M0_FAN_ON1 data_global.h 73;" d 73 | MSG_M0_FAN_ON2 data_global.h 74;" d 74 | MSG_M0_FAN_ON3 data_global.h 75;" d 75 | MSG_M0_LED_OFF data_global.h 82;" d 76 | MSG_M0_LED_ON data_global.h 83;" d 77 | MSG_M0_SEG_OFF data_global.h 86;" d 78 | MSG_M0_SEG_ON data_global.h 85;" d 79 | Message pthread_sms.c /^struct Message{$/;" s file: 80 | N pthread_refresh.c 5;" d file: 81 | OBJS Makefile /^OBJS=main.o data_global.o pthread_transfer.o pthread_analysis.o \\$/;" m 82 | PASSWORD pthread_sqlite.c 16;" d file: 83 | QUEUE_MSG_LEN data_global.h 56;" d 84 | ReleaseResource main.c /^void ReleaseResource (int signo)$/;" f 85 | SMS_BRE data_global.h 54;" d 86 | SMS_HUM data_global.h 52;" d 87 | SMS_ILL data_global.h 53;" d 88 | SMS_TEM data_global.h 51;" d 89 | SQLITE3_TEXT include/sqlite3.h 3089;" d 90 | SQLITE3_TEXT sqlite3.h 3089;" d 91 | SQLITE_ABORT include/sqlite3.h 385;" d 92 | SQLITE_ABORT sqlite3.h 385;" d 93 | SQLITE_ACCESS_EXISTS include/sqlite3.h 921;" d 94 | SQLITE_ACCESS_EXISTS sqlite3.h 921;" d 95 | SQLITE_ACCESS_READ include/sqlite3.h 923;" d 96 | SQLITE_ACCESS_READ sqlite3.h 923;" d 97 | SQLITE_ACCESS_READWRITE include/sqlite3.h 922;" d 98 | SQLITE_ACCESS_READWRITE sqlite3.h 922;" d 99 | SQLITE_ALTER_TABLE include/sqlite3.h 2177;" d 100 | SQLITE_ALTER_TABLE sqlite3.h 2177;" d 101 | SQLITE_ANALYZE include/sqlite3.h 2179;" d 102 | SQLITE_ANALYZE sqlite3.h 2179;" d 103 | SQLITE_ANY include/sqlite3.h 3444;" d 104 | SQLITE_ANY sqlite3.h 3444;" d 105 | SQLITE_API include/sqlite3.h 53;" d 106 | SQLITE_API sqlite3.h 53;" d 107 | SQLITE_ATTACH include/sqlite3.h 2175;" d 108 | SQLITE_ATTACH sqlite3.h 2175;" d 109 | SQLITE_AUTH include/sqlite3.h 404;" d 110 | SQLITE_AUTH sqlite3.h 404;" d 111 | SQLITE_BLOB include/sqlite3.h 3082;" d 112 | SQLITE_BLOB sqlite3.h 3082;" d 113 | SQLITE_BUSY include/sqlite3.h 386;" d 114 | SQLITE_BUSY sqlite3.h 386;" d 115 | SQLITE_BUSY_RECOVERY include/sqlite3.h 456;" d 116 | SQLITE_BUSY_RECOVERY sqlite3.h 456;" d 117 | SQLITE_CANTOPEN include/sqlite3.h 395;" d 118 | SQLITE_CANTOPEN sqlite3.h 395;" d 119 | SQLITE_CANTOPEN_NOTEMPDIR include/sqlite3.h 457;" d 120 | SQLITE_CANTOPEN_NOTEMPDIR sqlite3.h 457;" d 121 | SQLITE_CONFIG_GETMALLOC include/sqlite3.h 1387;" d 122 | SQLITE_CONFIG_GETMALLOC sqlite3.h 1387;" d 123 | SQLITE_CONFIG_GETMUTEX include/sqlite3.h 1393;" d 124 | SQLITE_CONFIG_GETMUTEX sqlite3.h 1393;" d 125 | SQLITE_CONFIG_GETPCACHE include/sqlite3.h 1397;" d 126 | SQLITE_CONFIG_GETPCACHE sqlite3.h 1397;" d 127 | SQLITE_CONFIG_HEAP include/sqlite3.h 1390;" d 128 | SQLITE_CONFIG_HEAP sqlite3.h 1390;" d 129 | SQLITE_CONFIG_LOG include/sqlite3.h 1398;" d 130 | SQLITE_CONFIG_LOG sqlite3.h 1398;" d 131 | SQLITE_CONFIG_LOOKASIDE include/sqlite3.h 1395;" d 132 | SQLITE_CONFIG_LOOKASIDE sqlite3.h 1395;" d 133 | SQLITE_CONFIG_MALLOC include/sqlite3.h 1386;" d 134 | SQLITE_CONFIG_MALLOC sqlite3.h 1386;" d 135 | SQLITE_CONFIG_MEMSTATUS include/sqlite3.h 1391;" d 136 | SQLITE_CONFIG_MEMSTATUS sqlite3.h 1391;" d 137 | SQLITE_CONFIG_MULTITHREAD include/sqlite3.h 1384;" d 138 | SQLITE_CONFIG_MULTITHREAD sqlite3.h 1384;" d 139 | SQLITE_CONFIG_MUTEX include/sqlite3.h 1392;" d 140 | SQLITE_CONFIG_MUTEX sqlite3.h 1392;" d 141 | SQLITE_CONFIG_PAGECACHE include/sqlite3.h 1389;" d 142 | SQLITE_CONFIG_PAGECACHE sqlite3.h 1389;" d 143 | SQLITE_CONFIG_PCACHE include/sqlite3.h 1396;" d 144 | SQLITE_CONFIG_PCACHE sqlite3.h 1396;" d 145 | SQLITE_CONFIG_SCRATCH include/sqlite3.h 1388;" d 146 | SQLITE_CONFIG_SCRATCH sqlite3.h 1388;" d 147 | SQLITE_CONFIG_SERIALIZED include/sqlite3.h 1385;" d 148 | SQLITE_CONFIG_SERIALIZED sqlite3.h 1385;" d 149 | SQLITE_CONFIG_SINGLETHREAD include/sqlite3.h 1383;" d 150 | SQLITE_CONFIG_SINGLETHREAD sqlite3.h 1383;" d 151 | SQLITE_CONSTRAINT include/sqlite3.h 400;" d 152 | SQLITE_CONSTRAINT sqlite3.h 400;" d 153 | SQLITE_COPY include/sqlite3.h 2184;" d 154 | SQLITE_COPY sqlite3.h 2184;" d 155 | SQLITE_CORRUPT include/sqlite3.h 392;" d 156 | SQLITE_CORRUPT sqlite3.h 392;" d 157 | SQLITE_CREATE_INDEX include/sqlite3.h 2152;" d 158 | SQLITE_CREATE_INDEX sqlite3.h 2152;" d 159 | SQLITE_CREATE_TABLE include/sqlite3.h 2153;" d 160 | SQLITE_CREATE_TABLE sqlite3.h 2153;" d 161 | SQLITE_CREATE_TEMP_INDEX include/sqlite3.h 2154;" d 162 | SQLITE_CREATE_TEMP_INDEX sqlite3.h 2154;" d 163 | SQLITE_CREATE_TEMP_TABLE include/sqlite3.h 2155;" d 164 | SQLITE_CREATE_TEMP_TABLE sqlite3.h 2155;" d 165 | SQLITE_CREATE_TEMP_TRIGGER include/sqlite3.h 2156;" d 166 | SQLITE_CREATE_TEMP_TRIGGER sqlite3.h 2156;" d 167 | SQLITE_CREATE_TEMP_VIEW include/sqlite3.h 2157;" d 168 | SQLITE_CREATE_TEMP_VIEW sqlite3.h 2157;" d 169 | SQLITE_CREATE_TRIGGER include/sqlite3.h 2158;" d 170 | SQLITE_CREATE_TRIGGER sqlite3.h 2158;" d 171 | SQLITE_CREATE_VIEW include/sqlite3.h 2159;" d 172 | SQLITE_CREATE_VIEW sqlite3.h 2159;" d 173 | SQLITE_CREATE_VTABLE include/sqlite3.h 2180;" d 174 | SQLITE_CREATE_VTABLE sqlite3.h 2180;" d 175 | SQLITE_DBCONFIG_LOOKASIDE include/sqlite3.h 1438;" d 176 | SQLITE_DBCONFIG_LOOKASIDE sqlite3.h 1438;" d 177 | SQLITE_DBSTATUS_CACHE_USED include/sqlite3.h 5443;" d 178 | SQLITE_DBSTATUS_CACHE_USED sqlite3.h 5443;" d 179 | SQLITE_DBSTATUS_LOOKASIDE_USED include/sqlite3.h 5442;" d 180 | SQLITE_DBSTATUS_LOOKASIDE_USED sqlite3.h 5442;" d 181 | SQLITE_DBSTATUS_MAX include/sqlite3.h 5446;" d 182 | SQLITE_DBSTATUS_MAX sqlite3.h 5446;" d 183 | SQLITE_DBSTATUS_SCHEMA_USED include/sqlite3.h 5444;" d 184 | SQLITE_DBSTATUS_SCHEMA_USED sqlite3.h 5444;" d 185 | SQLITE_DBSTATUS_STMT_USED include/sqlite3.h 5445;" d 186 | SQLITE_DBSTATUS_STMT_USED sqlite3.h 5445;" d 187 | SQLITE_DELETE include/sqlite3.h 2160;" d 188 | SQLITE_DELETE sqlite3.h 2160;" d 189 | SQLITE_DENY include/sqlite3.h 2129;" d 190 | SQLITE_DENY sqlite3.h 2129;" d 191 | SQLITE_DEPRECATED include/sqlite3.h 70;" d 192 | SQLITE_DEPRECATED sqlite3.h 70;" d 193 | SQLITE_DETACH include/sqlite3.h 2176;" d 194 | SQLITE_DETACH sqlite3.h 2176;" d 195 | SQLITE_DONE include/sqlite3.h 409;" d 196 | SQLITE_DONE sqlite3.h 409;" d 197 | SQLITE_DROP_INDEX include/sqlite3.h 2161;" d 198 | SQLITE_DROP_INDEX sqlite3.h 2161;" d 199 | SQLITE_DROP_TABLE include/sqlite3.h 2162;" d 200 | SQLITE_DROP_TABLE sqlite3.h 2162;" d 201 | SQLITE_DROP_TEMP_INDEX include/sqlite3.h 2163;" d 202 | SQLITE_DROP_TEMP_INDEX sqlite3.h 2163;" d 203 | SQLITE_DROP_TEMP_TABLE include/sqlite3.h 2164;" d 204 | SQLITE_DROP_TEMP_TABLE sqlite3.h 2164;" d 205 | SQLITE_DROP_TEMP_TRIGGER include/sqlite3.h 2165;" d 206 | SQLITE_DROP_TEMP_TRIGGER sqlite3.h 2165;" d 207 | SQLITE_DROP_TEMP_VIEW include/sqlite3.h 2166;" d 208 | SQLITE_DROP_TEMP_VIEW sqlite3.h 2166;" d 209 | SQLITE_DROP_TRIGGER include/sqlite3.h 2167;" d 210 | SQLITE_DROP_TRIGGER sqlite3.h 2167;" d 211 | SQLITE_DROP_VIEW include/sqlite3.h 2168;" d 212 | SQLITE_DROP_VIEW sqlite3.h 2168;" d 213 | SQLITE_DROP_VTABLE include/sqlite3.h 2181;" d 214 | SQLITE_DROP_VTABLE sqlite3.h 2181;" d 215 | SQLITE_EMPTY include/sqlite3.h 397;" d 216 | SQLITE_EMPTY sqlite3.h 397;" d 217 | SQLITE_ERROR include/sqlite3.h 382;" d 218 | SQLITE_ERROR sqlite3.h 382;" d 219 | SQLITE_EXPERIMENTAL include/sqlite3.h 71;" d 220 | SQLITE_EXPERIMENTAL sqlite3.h 71;" d 221 | SQLITE_EXTENSION_INIT1 include/sqlite3ext.h 375;" d 222 | SQLITE_EXTENSION_INIT2 include/sqlite3ext.h 376;" d 223 | SQLITE_EXTERN include/sqlite3.h 49;" d 224 | SQLITE_EXTERN sqlite3.h 49;" d 225 | SQLITE_FCNTL_CHUNK_SIZE include/sqlite3.h 712;" d 226 | SQLITE_FCNTL_CHUNK_SIZE sqlite3.h 712;" d 227 | SQLITE_FCNTL_LOCKSTATE include/sqlite3.h 707;" d 228 | SQLITE_FCNTL_LOCKSTATE sqlite3.h 707;" d 229 | SQLITE_FCNTL_SIZE_HINT include/sqlite3.h 711;" d 230 | SQLITE_FCNTL_SIZE_HINT sqlite3.h 711;" d 231 | SQLITE_FLOAT include/sqlite3.h 3081;" d 232 | SQLITE_FLOAT sqlite3.h 3081;" d 233 | SQLITE_FORMAT include/sqlite3.h 405;" d 234 | SQLITE_FORMAT sqlite3.h 405;" d 235 | SQLITE_FULL include/sqlite3.h 394;" d 236 | SQLITE_FULL sqlite3.h 394;" d 237 | SQLITE_FUNCTION include/sqlite3.h 2182;" d 238 | SQLITE_FUNCTION sqlite3.h 2182;" d 239 | SQLITE_GET_LOCKPROXYFILE include/sqlite3.h 708;" d 240 | SQLITE_GET_LOCKPROXYFILE sqlite3.h 708;" d 241 | SQLITE_IGNORE include/sqlite3.h 2130;" d 242 | SQLITE_IGNORE sqlite3.h 2130;" d 243 | SQLITE_INDEX_CONSTRAINT_EQ include/sqlite3.h 4572;" d 244 | SQLITE_INDEX_CONSTRAINT_EQ sqlite3.h 4572;" d 245 | SQLITE_INDEX_CONSTRAINT_GE include/sqlite3.h 4576;" d 246 | SQLITE_INDEX_CONSTRAINT_GE sqlite3.h 4576;" d 247 | SQLITE_INDEX_CONSTRAINT_GT include/sqlite3.h 4573;" d 248 | SQLITE_INDEX_CONSTRAINT_GT sqlite3.h 4573;" d 249 | SQLITE_INDEX_CONSTRAINT_LE include/sqlite3.h 4574;" d 250 | SQLITE_INDEX_CONSTRAINT_LE sqlite3.h 4574;" d 251 | SQLITE_INDEX_CONSTRAINT_LT include/sqlite3.h 4575;" d 252 | SQLITE_INDEX_CONSTRAINT_LT sqlite3.h 4575;" d 253 | SQLITE_INDEX_CONSTRAINT_MATCH include/sqlite3.h 4577;" d 254 | SQLITE_INDEX_CONSTRAINT_MATCH sqlite3.h 4577;" d 255 | SQLITE_INSERT include/sqlite3.h 2169;" d 256 | SQLITE_INSERT sqlite3.h 2169;" d 257 | SQLITE_INTEGER include/sqlite3.h 3080;" d 258 | SQLITE_INTEGER sqlite3.h 3080;" d 259 | SQLITE_INTERNAL include/sqlite3.h 383;" d 260 | SQLITE_INTERNAL sqlite3.h 383;" d 261 | SQLITE_INTERRUPT include/sqlite3.h 390;" d 262 | SQLITE_INTERRUPT sqlite3.h 390;" d 263 | SQLITE_IOCAP_ATOMIC include/sqlite3.h 506;" d 264 | SQLITE_IOCAP_ATOMIC sqlite3.h 506;" d 265 | SQLITE_IOCAP_ATOMIC16K include/sqlite3.h 512;" d 266 | SQLITE_IOCAP_ATOMIC16K sqlite3.h 512;" d 267 | SQLITE_IOCAP_ATOMIC1K include/sqlite3.h 508;" d 268 | SQLITE_IOCAP_ATOMIC1K sqlite3.h 508;" d 269 | SQLITE_IOCAP_ATOMIC2K include/sqlite3.h 509;" d 270 | SQLITE_IOCAP_ATOMIC2K sqlite3.h 509;" d 271 | SQLITE_IOCAP_ATOMIC32K include/sqlite3.h 513;" d 272 | SQLITE_IOCAP_ATOMIC32K sqlite3.h 513;" d 273 | SQLITE_IOCAP_ATOMIC4K include/sqlite3.h 510;" d 274 | SQLITE_IOCAP_ATOMIC4K sqlite3.h 510;" d 275 | SQLITE_IOCAP_ATOMIC512 include/sqlite3.h 507;" d 276 | SQLITE_IOCAP_ATOMIC512 sqlite3.h 507;" d 277 | SQLITE_IOCAP_ATOMIC64K include/sqlite3.h 514;" d 278 | SQLITE_IOCAP_ATOMIC64K sqlite3.h 514;" d 279 | SQLITE_IOCAP_ATOMIC8K include/sqlite3.h 511;" d 280 | SQLITE_IOCAP_ATOMIC8K sqlite3.h 511;" d 281 | SQLITE_IOCAP_SAFE_APPEND include/sqlite3.h 515;" d 282 | SQLITE_IOCAP_SAFE_APPEND sqlite3.h 515;" d 283 | SQLITE_IOCAP_SEQUENTIAL include/sqlite3.h 516;" d 284 | SQLITE_IOCAP_SEQUENTIAL sqlite3.h 516;" d 285 | SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN include/sqlite3.h 517;" d 286 | SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN sqlite3.h 517;" d 287 | SQLITE_IOERR include/sqlite3.h 391;" d 288 | SQLITE_IOERR sqlite3.h 391;" d 289 | SQLITE_IOERR_ACCESS include/sqlite3.h 447;" d 290 | SQLITE_IOERR_ACCESS sqlite3.h 447;" d 291 | SQLITE_IOERR_BLOCKED include/sqlite3.h 445;" d 292 | SQLITE_IOERR_BLOCKED sqlite3.h 445;" d 293 | SQLITE_IOERR_CHECKRESERVEDLOCK include/sqlite3.h 448;" d 294 | SQLITE_IOERR_CHECKRESERVEDLOCK sqlite3.h 448;" d 295 | SQLITE_IOERR_CLOSE include/sqlite3.h 450;" d 296 | SQLITE_IOERR_CLOSE sqlite3.h 450;" d 297 | SQLITE_IOERR_DELETE include/sqlite3.h 444;" d 298 | SQLITE_IOERR_DELETE sqlite3.h 444;" d 299 | SQLITE_IOERR_DIR_CLOSE include/sqlite3.h 451;" d 300 | SQLITE_IOERR_DIR_CLOSE sqlite3.h 451;" d 301 | SQLITE_IOERR_DIR_FSYNC include/sqlite3.h 439;" d 302 | SQLITE_IOERR_DIR_FSYNC sqlite3.h 439;" d 303 | SQLITE_IOERR_FSTAT include/sqlite3.h 441;" d 304 | SQLITE_IOERR_FSTAT sqlite3.h 441;" d 305 | SQLITE_IOERR_FSYNC include/sqlite3.h 438;" d 306 | SQLITE_IOERR_FSYNC sqlite3.h 438;" d 307 | SQLITE_IOERR_LOCK include/sqlite3.h 449;" d 308 | SQLITE_IOERR_LOCK sqlite3.h 449;" d 309 | SQLITE_IOERR_NOMEM include/sqlite3.h 446;" d 310 | SQLITE_IOERR_NOMEM sqlite3.h 446;" d 311 | SQLITE_IOERR_RDLOCK include/sqlite3.h 443;" d 312 | SQLITE_IOERR_RDLOCK sqlite3.h 443;" d 313 | SQLITE_IOERR_READ include/sqlite3.h 435;" d 314 | SQLITE_IOERR_READ sqlite3.h 435;" d 315 | SQLITE_IOERR_SHMLOCK include/sqlite3.h 454;" d 316 | SQLITE_IOERR_SHMLOCK sqlite3.h 454;" d 317 | SQLITE_IOERR_SHMOPEN include/sqlite3.h 452;" d 318 | SQLITE_IOERR_SHMOPEN sqlite3.h 452;" d 319 | SQLITE_IOERR_SHMSIZE include/sqlite3.h 453;" d 320 | SQLITE_IOERR_SHMSIZE sqlite3.h 453;" d 321 | SQLITE_IOERR_SHORT_READ include/sqlite3.h 436;" d 322 | SQLITE_IOERR_SHORT_READ sqlite3.h 436;" d 323 | SQLITE_IOERR_TRUNCATE include/sqlite3.h 440;" d 324 | SQLITE_IOERR_TRUNCATE sqlite3.h 440;" d 325 | SQLITE_IOERR_UNLOCK include/sqlite3.h 442;" d 326 | SQLITE_IOERR_UNLOCK sqlite3.h 442;" d 327 | SQLITE_IOERR_WRITE include/sqlite3.h 437;" d 328 | SQLITE_IOERR_WRITE sqlite3.h 437;" d 329 | SQLITE_LAST_ERRNO include/sqlite3.h 710;" d 330 | SQLITE_LAST_ERRNO sqlite3.h 710;" d 331 | SQLITE_LIMIT_ATTACHED include/sqlite3.h 2513;" d 332 | SQLITE_LIMIT_ATTACHED sqlite3.h 2513;" d 333 | SQLITE_LIMIT_COLUMN include/sqlite3.h 2508;" d 334 | SQLITE_LIMIT_COLUMN sqlite3.h 2508;" d 335 | SQLITE_LIMIT_COMPOUND_SELECT include/sqlite3.h 2510;" d 336 | SQLITE_LIMIT_COMPOUND_SELECT sqlite3.h 2510;" d 337 | SQLITE_LIMIT_EXPR_DEPTH include/sqlite3.h 2509;" d 338 | SQLITE_LIMIT_EXPR_DEPTH sqlite3.h 2509;" d 339 | SQLITE_LIMIT_FUNCTION_ARG include/sqlite3.h 2512;" d 340 | SQLITE_LIMIT_FUNCTION_ARG sqlite3.h 2512;" d 341 | SQLITE_LIMIT_LENGTH include/sqlite3.h 2506;" d 342 | SQLITE_LIMIT_LENGTH sqlite3.h 2506;" d 343 | SQLITE_LIMIT_LIKE_PATTERN_LENGTH include/sqlite3.h 2514;" d 344 | SQLITE_LIMIT_LIKE_PATTERN_LENGTH sqlite3.h 2514;" d 345 | SQLITE_LIMIT_SQL_LENGTH include/sqlite3.h 2507;" d 346 | SQLITE_LIMIT_SQL_LENGTH sqlite3.h 2507;" d 347 | SQLITE_LIMIT_TRIGGER_DEPTH include/sqlite3.h 2516;" d 348 | SQLITE_LIMIT_TRIGGER_DEPTH sqlite3.h 2516;" d 349 | SQLITE_LIMIT_VARIABLE_NUMBER include/sqlite3.h 2515;" d 350 | SQLITE_LIMIT_VARIABLE_NUMBER sqlite3.h 2515;" d 351 | SQLITE_LIMIT_VDBE_OP include/sqlite3.h 2511;" d 352 | SQLITE_LIMIT_VDBE_OP sqlite3.h 2511;" d 353 | SQLITE_LOCKED include/sqlite3.h 387;" d 354 | SQLITE_LOCKED sqlite3.h 387;" d 355 | SQLITE_LOCKED_SHAREDCACHE include/sqlite3.h 455;" d 356 | SQLITE_LOCKED_SHAREDCACHE sqlite3.h 455;" d 357 | SQLITE_LOCK_EXCLUSIVE include/sqlite3.h 530;" d 358 | SQLITE_LOCK_EXCLUSIVE sqlite3.h 530;" d 359 | SQLITE_LOCK_NONE include/sqlite3.h 526;" d 360 | SQLITE_LOCK_NONE sqlite3.h 526;" d 361 | SQLITE_LOCK_PENDING include/sqlite3.h 529;" d 362 | SQLITE_LOCK_PENDING sqlite3.h 529;" d 363 | SQLITE_LOCK_RESERVED include/sqlite3.h 528;" d 364 | SQLITE_LOCK_RESERVED sqlite3.h 528;" d 365 | SQLITE_LOCK_SHARED include/sqlite3.h 527;" d 366 | SQLITE_LOCK_SHARED sqlite3.h 527;" d 367 | SQLITE_MISMATCH include/sqlite3.h 401;" d 368 | SQLITE_MISMATCH sqlite3.h 401;" d 369 | SQLITE_MISUSE include/sqlite3.h 402;" d 370 | SQLITE_MISUSE sqlite3.h 402;" d 371 | SQLITE_MUTEX_FAST include/sqlite3.h 5161;" d 372 | SQLITE_MUTEX_FAST sqlite3.h 5161;" d 373 | SQLITE_MUTEX_RECURSIVE include/sqlite3.h 5162;" d 374 | SQLITE_MUTEX_RECURSIVE sqlite3.h 5162;" d 375 | SQLITE_MUTEX_STATIC_LRU include/sqlite3.h 5168;" d 376 | SQLITE_MUTEX_STATIC_LRU sqlite3.h 5168;" d 377 | SQLITE_MUTEX_STATIC_LRU2 include/sqlite3.h 5169;" d 378 | SQLITE_MUTEX_STATIC_LRU2 sqlite3.h 5169;" d 379 | SQLITE_MUTEX_STATIC_MASTER include/sqlite3.h 5163;" d 380 | SQLITE_MUTEX_STATIC_MASTER sqlite3.h 5163;" d 381 | SQLITE_MUTEX_STATIC_MEM include/sqlite3.h 5164;" d 382 | SQLITE_MUTEX_STATIC_MEM sqlite3.h 5164;" d 383 | SQLITE_MUTEX_STATIC_MEM2 include/sqlite3.h 5165;" d 384 | SQLITE_MUTEX_STATIC_MEM2 sqlite3.h 5165;" d 385 | SQLITE_MUTEX_STATIC_OPEN include/sqlite3.h 5166;" d 386 | SQLITE_MUTEX_STATIC_OPEN sqlite3.h 5166;" d 387 | SQLITE_MUTEX_STATIC_PRNG include/sqlite3.h 5167;" d 388 | SQLITE_MUTEX_STATIC_PRNG sqlite3.h 5167;" d 389 | SQLITE_NOLFS include/sqlite3.h 403;" d 390 | SQLITE_NOLFS sqlite3.h 403;" d 391 | SQLITE_NOMEM include/sqlite3.h 388;" d 392 | SQLITE_NOMEM sqlite3.h 388;" d 393 | SQLITE_NOTADB include/sqlite3.h 407;" d 394 | SQLITE_NOTADB sqlite3.h 407;" d 395 | SQLITE_NOTFOUND include/sqlite3.h 393;" d 396 | SQLITE_NOTFOUND sqlite3.h 393;" d 397 | SQLITE_NULL include/sqlite3.h 3083;" d 398 | SQLITE_NULL sqlite3.h 3083;" d 399 | SQLITE_OK include/sqlite3.h 380;" d 400 | SQLITE_OK sqlite3.h 380;" d 401 | SQLITE_OPEN data_global.h 32;" d 402 | SQLITE_OPEN_AUTOPROXY include/sqlite3.h 472;" d 403 | SQLITE_OPEN_AUTOPROXY sqlite3.h 472;" d 404 | SQLITE_OPEN_CREATE include/sqlite3.h 469;" d 405 | SQLITE_OPEN_CREATE sqlite3.h 469;" d 406 | SQLITE_OPEN_DELETEONCLOSE include/sqlite3.h 470;" d 407 | SQLITE_OPEN_DELETEONCLOSE sqlite3.h 470;" d 408 | SQLITE_OPEN_EXCLUSIVE include/sqlite3.h 471;" d 409 | SQLITE_OPEN_EXCLUSIVE sqlite3.h 471;" d 410 | SQLITE_OPEN_FULLMUTEX include/sqlite3.h 481;" d 411 | SQLITE_OPEN_FULLMUTEX sqlite3.h 481;" d 412 | SQLITE_OPEN_MAIN_DB include/sqlite3.h 473;" d 413 | SQLITE_OPEN_MAIN_DB sqlite3.h 473;" d 414 | SQLITE_OPEN_MAIN_JOURNAL include/sqlite3.h 476;" d 415 | SQLITE_OPEN_MAIN_JOURNAL sqlite3.h 476;" d 416 | SQLITE_OPEN_MASTER_JOURNAL include/sqlite3.h 479;" d 417 | SQLITE_OPEN_MASTER_JOURNAL sqlite3.h 479;" d 418 | SQLITE_OPEN_NOMUTEX include/sqlite3.h 480;" d 419 | SQLITE_OPEN_NOMUTEX sqlite3.h 480;" d 420 | SQLITE_OPEN_PRIVATECACHE include/sqlite3.h 483;" d 421 | SQLITE_OPEN_PRIVATECACHE sqlite3.h 483;" d 422 | SQLITE_OPEN_READONLY include/sqlite3.h 467;" d 423 | SQLITE_OPEN_READONLY sqlite3.h 467;" d 424 | SQLITE_OPEN_READWRITE include/sqlite3.h 468;" d 425 | SQLITE_OPEN_READWRITE sqlite3.h 468;" d 426 | SQLITE_OPEN_SHAREDCACHE include/sqlite3.h 482;" d 427 | SQLITE_OPEN_SHAREDCACHE sqlite3.h 482;" d 428 | SQLITE_OPEN_SUBJOURNAL include/sqlite3.h 478;" d 429 | SQLITE_OPEN_SUBJOURNAL sqlite3.h 478;" d 430 | SQLITE_OPEN_TEMP_DB include/sqlite3.h 474;" d 431 | SQLITE_OPEN_TEMP_DB sqlite3.h 474;" d 432 | SQLITE_OPEN_TEMP_JOURNAL include/sqlite3.h 477;" d 433 | SQLITE_OPEN_TEMP_JOURNAL sqlite3.h 477;" d 434 | SQLITE_OPEN_TRANSIENT_DB include/sqlite3.h 475;" d 435 | SQLITE_OPEN_TRANSIENT_DB sqlite3.h 475;" d 436 | SQLITE_OPEN_WAL include/sqlite3.h 484;" d 437 | SQLITE_OPEN_WAL sqlite3.h 484;" d 438 | SQLITE_PERM include/sqlite3.h 384;" d 439 | SQLITE_PERM sqlite3.h 384;" d 440 | SQLITE_PRAGMA include/sqlite3.h 2170;" d 441 | SQLITE_PRAGMA sqlite3.h 2170;" d 442 | SQLITE_PROTOCOL include/sqlite3.h 396;" d 443 | SQLITE_PROTOCOL sqlite3.h 396;" d 444 | SQLITE_RANGE include/sqlite3.h 406;" d 445 | SQLITE_RANGE sqlite3.h 406;" d 446 | SQLITE_READ include/sqlite3.h 2171;" d 447 | SQLITE_READ sqlite3.h 2171;" d 448 | SQLITE_READONLY include/sqlite3.h 389;" d 449 | SQLITE_READONLY sqlite3.h 389;" d 450 | SQLITE_REINDEX include/sqlite3.h 2178;" d 451 | SQLITE_REINDEX sqlite3.h 2178;" d 452 | SQLITE_ROW include/sqlite3.h 408;" d 453 | SQLITE_ROW sqlite3.h 408;" d 454 | SQLITE_SAVEPOINT include/sqlite3.h 2183;" d 455 | SQLITE_SAVEPOINT sqlite3.h 2183;" d 456 | SQLITE_SCHEMA include/sqlite3.h 398;" d 457 | SQLITE_SCHEMA sqlite3.h 398;" d 458 | SQLITE_SELECT include/sqlite3.h 2172;" d 459 | SQLITE_SELECT sqlite3.h 2172;" d 460 | SQLITE_SET_LOCKPROXYFILE include/sqlite3.h 709;" d 461 | SQLITE_SET_LOCKPROXYFILE sqlite3.h 709;" d 462 | SQLITE_SHM_EXCLUSIVE include/sqlite3.h 950;" d 463 | SQLITE_SHM_EXCLUSIVE sqlite3.h 950;" d 464 | SQLITE_SHM_LOCK include/sqlite3.h 948;" d 465 | SQLITE_SHM_LOCK sqlite3.h 948;" d 466 | SQLITE_SHM_NLOCK include/sqlite3.h 960;" d 467 | SQLITE_SHM_NLOCK sqlite3.h 960;" d 468 | SQLITE_SHM_SHARED include/sqlite3.h 949;" d 469 | SQLITE_SHM_SHARED sqlite3.h 949;" d 470 | SQLITE_SHM_UNLOCK include/sqlite3.h 947;" d 471 | SQLITE_SHM_UNLOCK sqlite3.h 947;" d 472 | SQLITE_SOURCE_ID include/sqlite3.h 112;" d 473 | SQLITE_SOURCE_ID sqlite3.h 112;" d 474 | SQLITE_STATIC include/sqlite3.h 3651;" d 475 | SQLITE_STATIC sqlite3.h 3651;" d 476 | SQLITE_STATUS_MALLOC_COUNT include/sqlite3.h 5377;" d 477 | SQLITE_STATUS_MALLOC_COUNT sqlite3.h 5377;" d 478 | SQLITE_STATUS_MALLOC_SIZE include/sqlite3.h 5373;" d 479 | SQLITE_STATUS_MALLOC_SIZE sqlite3.h 5373;" d 480 | SQLITE_STATUS_MEMORY_USED include/sqlite3.h 5368;" d 481 | SQLITE_STATUS_MEMORY_USED sqlite3.h 5368;" d 482 | SQLITE_STATUS_PAGECACHE_OVERFLOW include/sqlite3.h 5370;" d 483 | SQLITE_STATUS_PAGECACHE_OVERFLOW sqlite3.h 5370;" d 484 | SQLITE_STATUS_PAGECACHE_SIZE include/sqlite3.h 5375;" d 485 | SQLITE_STATUS_PAGECACHE_SIZE sqlite3.h 5375;" d 486 | SQLITE_STATUS_PAGECACHE_USED include/sqlite3.h 5369;" d 487 | SQLITE_STATUS_PAGECACHE_USED sqlite3.h 5369;" d 488 | SQLITE_STATUS_PARSER_STACK include/sqlite3.h 5374;" d 489 | SQLITE_STATUS_PARSER_STACK sqlite3.h 5374;" d 490 | SQLITE_STATUS_SCRATCH_OVERFLOW include/sqlite3.h 5372;" d 491 | SQLITE_STATUS_SCRATCH_OVERFLOW sqlite3.h 5372;" d 492 | SQLITE_STATUS_SCRATCH_SIZE include/sqlite3.h 5376;" d 493 | SQLITE_STATUS_SCRATCH_SIZE sqlite3.h 5376;" d 494 | SQLITE_STATUS_SCRATCH_USED include/sqlite3.h 5371;" d 495 | SQLITE_STATUS_SCRATCH_USED sqlite3.h 5371;" d 496 | SQLITE_STMTSTATUS_AUTOINDEX include/sqlite3.h 5504;" d 497 | SQLITE_STMTSTATUS_AUTOINDEX sqlite3.h 5504;" d 498 | SQLITE_STMTSTATUS_FULLSCAN_STEP include/sqlite3.h 5502;" d 499 | SQLITE_STMTSTATUS_FULLSCAN_STEP sqlite3.h 5502;" d 500 | SQLITE_STMTSTATUS_SORT include/sqlite3.h 5503;" d 501 | SQLITE_STMTSTATUS_SORT sqlite3.h 5503;" d 502 | SQLITE_SYNC_DATAONLY include/sqlite3.h 548;" d 503 | SQLITE_SYNC_DATAONLY sqlite3.h 548;" d 504 | SQLITE_SYNC_FULL include/sqlite3.h 547;" d 505 | SQLITE_SYNC_FULL sqlite3.h 547;" d 506 | SQLITE_SYNC_NORMAL include/sqlite3.h 546;" d 507 | SQLITE_SYNC_NORMAL sqlite3.h 546;" d 508 | SQLITE_TESTCTRL_ALWAYS include/sqlite3.h 5249;" d 509 | SQLITE_TESTCTRL_ALWAYS sqlite3.h 5249;" d 510 | SQLITE_TESTCTRL_ASSERT include/sqlite3.h 5248;" d 511 | SQLITE_TESTCTRL_ASSERT sqlite3.h 5248;" d 512 | SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS include/sqlite3.h 5246;" d 513 | SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS sqlite3.h 5246;" d 514 | SQLITE_TESTCTRL_BITVEC_TEST include/sqlite3.h 5244;" d 515 | SQLITE_TESTCTRL_BITVEC_TEST sqlite3.h 5244;" d 516 | SQLITE_TESTCTRL_FAULT_INSTALL include/sqlite3.h 5245;" d 517 | SQLITE_TESTCTRL_FAULT_INSTALL sqlite3.h 5245;" d 518 | SQLITE_TESTCTRL_FIRST include/sqlite3.h 5240;" d 519 | SQLITE_TESTCTRL_FIRST sqlite3.h 5240;" d 520 | SQLITE_TESTCTRL_ISKEYWORD include/sqlite3.h 5252;" d 521 | SQLITE_TESTCTRL_ISKEYWORD sqlite3.h 5252;" d 522 | SQLITE_TESTCTRL_LAST include/sqlite3.h 5255;" d 523 | SQLITE_TESTCTRL_LAST sqlite3.h 5255;" d 524 | SQLITE_TESTCTRL_OPTIMIZATIONS include/sqlite3.h 5251;" d 525 | SQLITE_TESTCTRL_OPTIMIZATIONS sqlite3.h 5251;" d 526 | SQLITE_TESTCTRL_PENDING_BYTE include/sqlite3.h 5247;" d 527 | SQLITE_TESTCTRL_PENDING_BYTE sqlite3.h 5247;" d 528 | SQLITE_TESTCTRL_PGHDRSZ include/sqlite3.h 5253;" d 529 | SQLITE_TESTCTRL_PGHDRSZ sqlite3.h 5253;" d 530 | SQLITE_TESTCTRL_PRNG_RESET include/sqlite3.h 5243;" d 531 | SQLITE_TESTCTRL_PRNG_RESET sqlite3.h 5243;" d 532 | SQLITE_TESTCTRL_PRNG_RESTORE include/sqlite3.h 5242;" d 533 | SQLITE_TESTCTRL_PRNG_RESTORE sqlite3.h 5242;" d 534 | SQLITE_TESTCTRL_PRNG_SAVE include/sqlite3.h 5241;" d 535 | SQLITE_TESTCTRL_PRNG_SAVE sqlite3.h 5241;" d 536 | SQLITE_TESTCTRL_RESERVE include/sqlite3.h 5250;" d 537 | SQLITE_TESTCTRL_RESERVE sqlite3.h 5250;" d 538 | SQLITE_TESTCTRL_SCRATCHMALLOC include/sqlite3.h 5254;" d 539 | SQLITE_TESTCTRL_SCRATCHMALLOC sqlite3.h 5254;" d 540 | SQLITE_TEXT include/sqlite3.h 3085;" d 541 | SQLITE_TEXT include/sqlite3.h 3087;" d 542 | SQLITE_TEXT sqlite3.h 3085;" d 543 | SQLITE_TEXT sqlite3.h 3087;" d 544 | SQLITE_TOOBIG include/sqlite3.h 399;" d 545 | SQLITE_TOOBIG sqlite3.h 399;" d 546 | SQLITE_TRANSACTION include/sqlite3.h 2173;" d 547 | SQLITE_TRANSACTION sqlite3.h 2173;" d 548 | SQLITE_TRANSIENT include/sqlite3.h 3652;" d 549 | SQLITE_TRANSIENT sqlite3.h 3652;" d 550 | SQLITE_UPDATE include/sqlite3.h 2174;" d 551 | SQLITE_UPDATE sqlite3.h 2174;" d 552 | SQLITE_UTF16 include/sqlite3.h 3443;" d 553 | SQLITE_UTF16 sqlite3.h 3443;" d 554 | SQLITE_UTF16BE include/sqlite3.h 3442;" d 555 | SQLITE_UTF16BE sqlite3.h 3442;" d 556 | SQLITE_UTF16LE include/sqlite3.h 3441;" d 557 | SQLITE_UTF16LE sqlite3.h 3441;" d 558 | SQLITE_UTF16_ALIGNED include/sqlite3.h 3445;" d 559 | SQLITE_UTF16_ALIGNED sqlite3.h 3445;" d 560 | SQLITE_UTF8 include/sqlite3.h 3440;" d 561 | SQLITE_UTF8 sqlite3.h 3440;" d 562 | SQLITE_VERSION include/sqlite3.h 110;" d 563 | SQLITE_VERSION include/sqlite3.h 77;" d 564 | SQLITE_VERSION sqlite3.h 110;" d 565 | SQLITE_VERSION sqlite3.h 77;" d 566 | SQLITE_VERSION_NUMBER include/sqlite3.h 111;" d 567 | SQLITE_VERSION_NUMBER include/sqlite3.h 80;" d 568 | SQLITE_VERSION_NUMBER sqlite3.h 111;" d 569 | SQLITE_VERSION_NUMBER sqlite3.h 80;" d 570 | STORAGE_NUM data_global.h 45;" d 571 | TELEPHONE_NUM pthread_sqlite.c 10;" d file: 572 | TEMPERATURE_MAX pthread_sqlite.c 4;" d file: 573 | TEMPERATURE_MIN pthread_sqlite.c 5;" d file: 574 | UPDATE_PERIOD pthread_sqlite.c 14;" d file: 575 | USER_NAME pthread_sqlite.c 15;" d file: 576 | _SQLITE3EXT_H_ include/sqlite3ext.h 19;" d 577 | _SQLITE3RTREE_H_ include/sqlite3.h 6140;" d 578 | _SQLITE3RTREE_H_ sqlite3.h 6140;" d 579 | _SQLITE3_H_ include/sqlite3.h 34;" d 580 | _SQLITE3_H_ sqlite3.h 34;" d 581 | __DATA_GLOBAL__H__ data_global.h 2;" d 582 | __DOTA_CACHE_H__ dota_cache.h 2;" d 583 | __LIST_QUEUE_H____ link_list.h 2;" d 584 | __SEM_H__ sem.h 2;" d 585 | __SQLITE_LIST_QUEUE_H____ sqlite_link_list.h 2;" d 586 | __SQLITE_TEST_H__ pthread_sqlite.h 2;" d 587 | __buf sem.h /^ struct seminfo *__buf; \/* Buffer for IPC_INFO$/;" m union:semun typeref:struct:semun::seminfo 588 | _dota_node_ dota_cache.h /^typedef struct _dota_node_$/;" s 589 | _node_ link_list.h /^typedef struct _node_$/;" s 590 | _snode_ sqlite_link_list.h /^typedef struct _snode_$/;" s 591 | a dota_cache_test.c /^ char a;$/;" m struct:charpack file: 592 | a dota_cache_test.c /^ int a;$/;" m struct:intpack file: 593 | aConstraint include/sqlite3.h /^ } *aConstraint; \/* Table of WHERE clause constraints *\/$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_constraint 594 | aConstraint sqlite3.h /^ } *aConstraint; \/* Table of WHERE clause constraints *\/$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_constraint 595 | aConstraintUsage include/sqlite3.h /^ } *aConstraintUsage;$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_constraint_usage 596 | aConstraintUsage sqlite3.h /^ } *aConstraintUsage;$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_constraint_usage 597 | aOrderBy include/sqlite3.h /^ } *aOrderBy; \/* The ORDER BY clause *\/$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_orderby 598 | aOrderBy sqlite3.h /^ } *aOrderBy; \/* The ORDER BY clause *\/$/;" m struct:sqlite3_index_info typeref:struct:sqlite3_index_info::sqlite3_index_orderby 599 | aParam include/sqlite3.h /^ double *aParam; \/* Parameters passed to SQL geom function *\/$/;" m struct:sqlite3_rtree_geometry 600 | aParam sqlite3.h /^ double *aParam; \/* Parameters passed to SQL geom function *\/$/;" m struct:sqlite3_rtree_geometry 601 | adc data_global.h /^ float adc;$/;" m struct:storage_info 602 | adc pthread_analysis.c /^ unsigned int adc;$/;" m struct:getEnvMsg file: 603 | adcMIN data_global.h /^ float adcMIN;$/;" m struct:storage_info 604 | addGoods pthread_sqlite.c /^int addGoods (struct env_info_clien_addr env_info_clien_addr_t, int storageNum_t, int goodsKinds_t)$/;" f 605 | aggregate_context include/sqlite3ext.h /^ void * (*aggregate_context)(sqlite3_context*,int nBytes);$/;" m struct:sqlite3_api_routines 606 | aggregate_count include/sqlite3ext.h /^ int (*aggregate_count)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 607 | all_info_RT data_global.c /^struct env_info_clien_addr all_info_RT;$/;" v typeref:struct:env_info_clien_addr 608 | argvIndex include/sqlite3.h /^ int argvIndex; \/* if >0, constraint is part of argv to xFilter *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint_usage 609 | argvIndex sqlite3.h /^ int argvIndex; \/* if >0, constraint is part of argv to xFilter *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint_usage 610 | array sem.h /^ unsigned short *array; \/* Array for GETALL, SETALL *\/$/;" m union:semun 611 | b dota_cache_test.c /^ char b;$/;" m struct:charpack file: 612 | b dota_cache_test.c /^ int b;$/;" m struct:intpack file: 613 | battery data_global.h /^ float battery;$/;" m struct:storage_info 614 | battery pthread_analysis.c /^ unsigned int battery;$/;" m struct:getEnvMsg file: 615 | beep_status pthread_analysis.c /^char beep_status[STORAGE_NUM] = {0};$/;" v 616 | bind_blob include/sqlite3ext.h /^ int (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*));$/;" m struct:sqlite3_api_routines 617 | bind_double include/sqlite3ext.h /^ int (*bind_double)(sqlite3_stmt*,int,double);$/;" m struct:sqlite3_api_routines 618 | bind_int include/sqlite3ext.h /^ int (*bind_int)(sqlite3_stmt*,int,int);$/;" m struct:sqlite3_api_routines 619 | bind_int64 include/sqlite3ext.h /^ int (*bind_int64)(sqlite3_stmt*,int,sqlite_int64);$/;" m struct:sqlite3_api_routines 620 | bind_null include/sqlite3ext.h /^ int (*bind_null)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 621 | bind_parameter_count include/sqlite3ext.h /^ int (*bind_parameter_count)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 622 | bind_parameter_index include/sqlite3ext.h /^ int (*bind_parameter_index)(sqlite3_stmt*,const char*zName);$/;" m struct:sqlite3_api_routines 623 | bind_parameter_name include/sqlite3ext.h /^ const char * (*bind_parameter_name)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 624 | bind_text include/sqlite3ext.h /^ int (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*));$/;" m struct:sqlite3_api_routines 625 | bind_text16 include/sqlite3ext.h /^ int (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 626 | bind_value include/sqlite3ext.h /^ int (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*);$/;" m struct:sqlite3_api_routines 627 | bind_zeroblob include/sqlite3ext.h /^ int (*bind_zeroblob)(sqlite3_stmt*,int,int);$/;" m struct:sqlite3_api_routines 628 | blob_bytes include/sqlite3ext.h /^ int (*blob_bytes)(sqlite3_blob*);$/;" m struct:sqlite3_api_routines 629 | blob_close include/sqlite3ext.h /^ int (*blob_close)(sqlite3_blob*);$/;" m struct:sqlite3_api_routines 630 | blob_open include/sqlite3ext.h /^ int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,int,sqlite3_blob**);$/;" m struct:sqlite3_api_routines 631 | blob_read include/sqlite3ext.h /^ int (*blob_read)(sqlite3_blob*,void*,int,int);$/;" m struct:sqlite3_api_routines 632 | blob_write include/sqlite3ext.h /^ int (*blob_write)(sqlite3_blob*,const void*,int,int);$/;" m struct:sqlite3_api_routines 633 | buf sem.h /^ struct semid_ds *buf; \/* Buffer for IPC_STAT, IPC_SET *\/$/;" m union:semun typeref:struct:semun::semid_ds 634 | busy_handler include/sqlite3ext.h /^ int (*busy_handler)(sqlite3*,int(*)(void*,int),void*);$/;" m struct:sqlite3_api_routines 635 | busy_timeout include/sqlite3ext.h /^ int (*busy_timeout)(sqlite3*,int ms);$/;" m struct:sqlite3_api_routines 636 | buzzer_status data_global.h /^ unsigned char buzzer_status;$/;" m struct:storage_info 637 | c dota_cache_test.c /^ char c;$/;" m struct:charpack file: 638 | c dota_cache_test.c /^ int c;$/;" m struct:intpack file: 639 | callback_getenv pthread_sqlite.c /^static int callback_getenv (void * para, int n_column, char ** column_value, char ** column_name )$/;" f file: 640 | callback_getenv_s pthread_sqlite.c /^static int callback_getenv_s (void * para, int n_column, char ** column_value, char ** column_name )$/;" f file: 641 | callback_str pthread_sqlite.c /^char callback_str[20];$/;" v 642 | callback_val pthread_sqlite.c /^float callback_val[15];$/;" v 643 | center_number pthread_sms.c /^ char center_number[16];$/;" m struct:From_to_send file: 644 | center_phone data_global.c /^char center_phone[12] = "13798990731";$/;" v 645 | cgi_status data_global.c /^char cgi_status;$/;" v 646 | cgi_status pthread_refresh.c /^ char cgi_status;$/;" m struct:shm_addr file: 647 | changes include/sqlite3ext.h /^ int (*changes)(sqlite3*);$/;" m struct:sqlite3_api_routines 648 | charpack dota_cache_test.c /^struct charpack$/;" s file: 649 | checkEnv pthread_analysis.c /^int checkEnv (int sto_no, struct storage_info *p)$/;" f 650 | clear_bindings include/sqlite3ext.h /^ int (*clear_bindings)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 651 | close include/sqlite3ext.h /^ int (*close)(sqlite3*);$/;" m struct:sqlite3_api_routines 652 | collation_needed include/sqlite3ext.h /^ int (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const char*));$/;" m struct:sqlite3_api_routines 653 | collation_needed16 include/sqlite3ext.h /^ int (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,const void*));$/;" m struct:sqlite3_api_routines 654 | column_blob include/sqlite3ext.h /^ const void * (*column_blob)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 655 | column_bytes include/sqlite3ext.h /^ int (*column_bytes)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 656 | column_bytes16 include/sqlite3ext.h /^ int (*column_bytes16)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 657 | column_count include/sqlite3ext.h /^ int (*column_count)(sqlite3_stmt*pStmt);$/;" m struct:sqlite3_api_routines 658 | column_database_name include/sqlite3ext.h /^ const char * (*column_database_name)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 659 | column_database_name16 include/sqlite3ext.h /^ const void * (*column_database_name16)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 660 | column_decltype include/sqlite3ext.h /^ const char * (*column_decltype)(sqlite3_stmt*,int i);$/;" m struct:sqlite3_api_routines 661 | column_decltype16 include/sqlite3ext.h /^ const void * (*column_decltype16)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 662 | column_double include/sqlite3ext.h /^ double (*column_double)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 663 | column_int include/sqlite3ext.h /^ int (*column_int)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 664 | column_int64 include/sqlite3ext.h /^ sqlite_int64 (*column_int64)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 665 | column_name include/sqlite3ext.h /^ const char * (*column_name)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 666 | column_name16 include/sqlite3ext.h /^ const void * (*column_name16)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 667 | column_origin_name include/sqlite3ext.h /^ const char * (*column_origin_name)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 668 | column_origin_name16 include/sqlite3ext.h /^ const void * (*column_origin_name16)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 669 | column_table_name include/sqlite3ext.h /^ const char * (*column_table_name)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 670 | column_table_name16 include/sqlite3ext.h /^ const void * (*column_table_name16)(sqlite3_stmt*,int);$/;" m struct:sqlite3_api_routines 671 | column_text include/sqlite3ext.h /^ const unsigned char * (*column_text)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 672 | column_text16 include/sqlite3ext.h /^ const void * (*column_text16)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 673 | column_type include/sqlite3ext.h /^ int (*column_type)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 674 | column_value include/sqlite3ext.h /^ sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol);$/;" m struct:sqlite3_api_routines 675 | commit_hook include/sqlite3ext.h /^ void * (*commit_hook)(sqlite3*,int(*)(void*),void*);$/;" m struct:sqlite3_api_routines 676 | complete include/sqlite3ext.h /^ int (*complete)(const char*sql);$/;" m struct:sqlite3_api_routines 677 | complete16 include/sqlite3ext.h /^ int (*complete16)(const void*sql);$/;" m struct:sqlite3_api_routines 678 | cond_analysis data_global.c /^pthread_cond_t cond_analysis;$/;" v 679 | cond_buzzer data_global.c /^pthread_cond_t cond_buzzer;$/;" v 680 | cond_camera data_global.c /^pthread_cond_t cond_camera;$/;" v 681 | cond_client_request data_global.c /^pthread_cond_t cond_client_request;$/;" v 682 | cond_infrared data_global.c /^pthread_cond_t cond_infrared;$/;" v 683 | cond_led data_global.c /^pthread_cond_t cond_led;$/;" v 684 | cond_refresh data_global.c /^pthread_cond_t cond_refresh;$/;" v 685 | cond_refresh_updata data_global.c /^pthread_cond_t cond_refresh_updata;$/;" v 686 | cond_sms data_global.c /^pthread_cond_t cond_sms;$/;" v 687 | cond_sqlite data_global.c /^pthread_cond_t cond_sqlite;$/;" v 688 | cond_uart_cmd data_global.c /^pthread_cond_t cond_uart_cmd;$/;" v 689 | context_db_handle include/sqlite3ext.h /^ sqlite3 *(*context_db_handle)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 690 | create_collation include/sqlite3ext.h /^ int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*));$/;" m struct:sqlite3_api_routines 691 | create_collation16 include/sqlite3ext.h /^ int (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,int,const void*,int,const void*));$/;" m struct:sqlite3_api_routines 692 | create_collation_v2 include/sqlite3ext.h /^ int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,int,const void*,int,const void*),void(*)(void*));$/;" m struct:sqlite3_api_routines 693 | create_function include/sqlite3ext.h /^ int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*));$/;" m struct:sqlite3_api_routines 694 | create_function16 include/sqlite3ext.h /^ int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc)(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_value**),void (*xFinal)(sqlite3_context*));$/;" m struct:sqlite3_api_routines 695 | create_module include/sqlite3ext.h /^ int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*);$/;" m struct:sqlite3_api_routines 696 | create_module_v2 include/sqlite3ext.h /^ int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,void (*xDestroy)(void *));$/;" m struct:sqlite3_api_routines 697 | data dota_cache.h /^ dota_cache_data data;$/;" m struct:_dota_node_ 698 | data link_list.h /^ link_datatype data;$/;" m struct:_node_ 699 | data sqlite_link_list.h /^ struct sqlite_operation data;$/;" m struct:_snode_ typeref:struct:_snode_::sqlite_operation 700 | data_count include/sqlite3ext.h /^ int (*data_count)(sqlite3_stmt*pStmt);$/;" m struct:sqlite3_api_routines 701 | data_link sqlite_link_list.h /^ struct env_info_clien_addr data_link;$/;" m struct:_snode_ typeref:struct:_snode_::env_info_clien_addr 702 | db_handle include/sqlite3ext.h /^ sqlite3 * (*db_handle)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 703 | declare_vtab include/sqlite3ext.h /^ int (*declare_vtab)(sqlite3*,const char*);$/;" m struct:sqlite3_api_routines 704 | deleteGoods pthread_sqlite.c /^int deleteGoods (int storageNum_t, int goodsKinds_t)$/;" f 705 | desc include/sqlite3.h /^ unsigned char desc; \/* True for DESC. False for ASC. *\/$/;" m struct:sqlite3_index_info::sqlite3_index_orderby 706 | desc sqlite3.h /^ unsigned char desc; \/* True for DESC. False for ASC. *\/$/;" m struct:sqlite3_index_info::sqlite3_index_orderby 707 | dev_buzzer_fd data_global.c /^int dev_buzzer_fd;$/;" v 708 | dev_buzzer_mask data_global.c /^unsigned char dev_buzzer_mask;$/;" v 709 | dev_camera_fd data_global.c /^int dev_camera_fd;$/;" v 710 | dev_camera_mask data_global.c /^unsigned char dev_camera_mask;$/;" v 711 | dev_infrared_fd data_global.c /^int dev_infrared_fd;$/;" v 712 | dev_infrared_mask data_global.c /^unsigned char dev_infrared_mask;$/;" v 713 | dev_led_fd data_global.c /^int dev_led_fd;$/;" v 714 | dev_led_mask data_global.c /^unsigned char dev_led_mask;$/;" v 715 | dev_sms_fd data_global.c /^int dev_sms_fd;$/;" v 716 | dev_sms_mask data_global.c /^unsigned char dev_sms_mask;$/;" v 717 | dev_uart_fd data_global.c /^int dev_uart_fd;$/;" v 718 | dev_uart_mask data_global.c /^unsigned char dev_uart_mask;$/;" v 719 | dota_adc pthread_analysis.c /^float dota_adc (unsigned int ratio)$/;" f 720 | dota_atof pthread_analysis.c /^float dota_atof (char unitl)$/;" f 721 | dota_atoi pthread_analysis.c /^int dota_atoi (const char * cDecade)$/;" f 722 | dota_cache_data dota_cache.h /^typedef void* dota_cache_data;$/;" t 723 | dota_cache_list dota_cache.h /^}dota_cache_node, *dota_cache_list;$/;" t typeref:struct:_dota_node_ 724 | dota_cache_node dota_cache.h /^}dota_cache_node, *dota_cache_list;$/;" t typeref:struct:_dota_node_ 725 | double include/sqlite3.h 263;" d 726 | double include/sqlite3.h 6118;" d 727 | double sqlite3.h 263;" d 728 | double sqlite3.h 6118;" d 729 | enable_shared_cache include/sqlite3ext.h /^ int (*enable_shared_cache)(int);$/;" m struct:sqlite3_api_routines 730 | env_info_clien_addr data_global.h /^struct env_info_clien_addr$/;" s 731 | env_info_clien_addr_s data_global.c /^struct env_info_clien_addr env_info_clien_addr_s;$/;" v typeref:struct:env_info_clien_addr 732 | env_operation_mask data_global.h /^ int env_operation_mask;$/;" m struct:sqlite_operation 733 | errcode include/sqlite3ext.h /^ int (*errcode)(sqlite3*db);$/;" m struct:sqlite3_api_routines 734 | errmsg include/sqlite3ext.h /^ const char * (*errmsg)(sqlite3*);$/;" m struct:sqlite3_api_routines 735 | errmsg16 include/sqlite3ext.h /^ const void * (*errmsg16)(sqlite3*);$/;" m struct:sqlite3_api_routines 736 | estimatedCost include/sqlite3.h /^ double estimatedCost; \/* Estimated cost of using this index *\/$/;" m struct:sqlite3_index_info 737 | estimatedCost sqlite3.h /^ double estimatedCost; \/* Estimated cost of using this index *\/$/;" m struct:sqlite3_index_info 738 | exec include/sqlite3ext.h /^ int (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**);$/;" m struct:sqlite3_api_routines 739 | expired include/sqlite3ext.h /^ int (*expired)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 740 | extended_result_codes include/sqlite3ext.h /^ int (*extended_result_codes)(sqlite3*,int);$/;" m struct:sqlite3_api_routines 741 | fan_status data_global.h /^ unsigned char fan_status;$/;" m struct:storage_info 742 | file_control include/sqlite3ext.h /^ int (*file_control)(sqlite3*,const char*,int,void*);$/;" m struct:sqlite3_api_routines 743 | finalize include/sqlite3ext.h /^ int (*finalize)(sqlite3_stmt*pStmt);$/;" m struct:sqlite3_api_routines 744 | free include/sqlite3ext.h /^ void (*free)(void*);$/;" m struct:sqlite3_api_routines 745 | free_table include/sqlite3ext.h /^ void (*free_table)(char**result);$/;" m struct:sqlite3_api_routines 746 | getAllGoods pthread_sqlite.c /^int getAllGoods (void)$/;" f 747 | getCollect_Current_env pthread_sqlite.c /^int getCollect_Current_env (int storage_num_t)$/;" f 748 | getCollect_env pthread_sqlite.c /^int getCollect_env (char itime_t[], int storage_num_t)$/;" f 749 | getEnv pthread_sqlite.c /^int getEnv (struct env_info_clien_addr *env_info_clien_addr_t, int storageNum_t)$/;" f 750 | getEnvMsg pthread_analysis.c /^struct getEnvMsg$/;" s file: 751 | getEnvPackage pthread_analysis.c /^void getEnvPackage (link_datatype *buf)$/;" f 752 | getEnv_select pthread_sqlite.c /^int getEnv_select (int storageNum_t, int no)$/;" f 753 | getGoods pthread_sqlite.c /^int getGoods (int storageNum_t, int goodsKinds_t)$/;" f 754 | getGoodsMsg pthread_analysis.c /^struct getGoodsMsg$/;" s file: 755 | getGoodsPackage pthread_analysis.c /^void getGoodsPackage (link_datatype *buf)$/;" f 756 | get_autocommit include/sqlite3ext.h /^ int (*get_autocommit)(sqlite3*);$/;" m struct:sqlite3_api_routines 757 | get_auxdata include/sqlite3ext.h /^ void * (*get_auxdata)(sqlite3_context*,int);$/;" m struct:sqlite3_api_routines 758 | get_table include/sqlite3ext.h /^ int (*get_table)(sqlite3*,const char*,char***,int*,int*,char**);$/;" m struct:sqlite3_api_routines 759 | gettid pthread_sms.c /^pid_t gettid(void)$/;" f 760 | global_recover include/sqlite3ext.h /^ int (*global_recover)(void);$/;" m struct:sqlite3_api_routines 761 | goodsKinds data_global.c /^int goodsKinds;$/;" v 762 | goodsKinds sqlite_link_list.h /^ int goodsKinds;$/;" m struct:_snode_ 763 | goods_count data_global.h /^ unsigned int goods_count;$/;" m struct:storage_goods_info 764 | goods_info data_global.h /^ struct storage_goods_info goods_info[GOODS_NUM];$/;" m struct:storage_info typeref:struct:storage_info::storage_goods_info 765 | goods_operation_mask data_global.h /^ int goods_operation_mask;$/;" m struct:sqlite_operation 766 | goods_type data_global.h /^ unsigned char goods_type;$/;" m struct:storage_goods_info 767 | goodsno pthread_analysis.c /^ unsigned char goodsno;$/;" m struct:getGoodsMsg file: 768 | goodsnum pthread_analysis.c /^ unsigned char goodsnum;$/;" m struct:getGoodsMsg file: 769 | gprs_msg pthread_sms.c /^}gprs_msg[] = {$/;" v typeref:struct:Message 770 | gprs_serial_init pthread_sms.c /^void gprs_serial_init(int fd)$/;" f 771 | hum pthread_analysis.c /^ unsigned char hum[2];$/;" m struct:getEnvMsg file: 772 | humMAX pthread_client_request.c /^ int humMAX;$/;" m struct:setEnv file: 773 | humMIN pthread_client_request.c /^ int humMIN;$/;" m struct:setEnv file: 774 | hum_alarm_status pthread_analysis.c /^char hum_alarm_status[STORAGE_NUM] = {0};$/;" v 775 | humidity data_global.h /^ float humidity;$/;" m struct:storage_info 776 | humidityMAX data_global.h /^ float humidityMAX;$/;" m struct:storage_info 777 | humidityMIN data_global.h /^ float humidityMIN;$/;" m struct:storage_info 778 | iColumn include/sqlite3.h /^ int iColumn; \/* Column number *\/$/;" m struct:sqlite3_index_info::sqlite3_index_orderby 779 | iColumn include/sqlite3.h /^ int iColumn; \/* Column on left-hand side of constraint *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 780 | iColumn sqlite3.h /^ int iColumn; \/* Column number *\/$/;" m struct:sqlite3_index_info::sqlite3_index_orderby 781 | iColumn sqlite3.h /^ int iColumn; \/* Column on left-hand side of constraint *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 782 | iTermOffset include/sqlite3.h /^ int iTermOffset; \/* Used internally - xBestIndex should ignore *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 783 | iTermOffset sqlite3.h /^ int iTermOffset; \/* Used internally - xBestIndex should ignore *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 784 | iVersion include/sqlite3.h /^ int iVersion; \/* Structure version number (currently 2) *\/$/;" m struct:sqlite3_vfs 785 | iVersion include/sqlite3.h /^ int iVersion;$/;" m struct:sqlite3_io_methods 786 | iVersion include/sqlite3.h /^ int iVersion;$/;" m struct:sqlite3_module 787 | iVersion sqlite3.h /^ int iVersion; \/* Structure version number (currently 2) *\/$/;" m struct:sqlite3_vfs 788 | iVersion sqlite3.h /^ int iVersion;$/;" m struct:sqlite3_io_methods 789 | iVersion sqlite3.h /^ int iVersion;$/;" m struct:sqlite3_module 790 | id_analysis main.c /^ id_analysis,$/;" v 791 | id_buzzer main.c /^ id_buzzer,$/;" v 792 | id_camera main.c /^ id_camera,$/;" v 793 | id_client_request main.c /^ id_client_request,$/;" v 794 | id_infrared main.c /^ id_infrared,$/;" v 795 | id_led main.c /^ id_led,$/;" v 796 | id_refresh main.c /^ id_refresh;$/;" v 797 | id_sms main.c /^ id_sms,$/;" v 798 | id_sqlite main.c /^pthread_t id_sqlite,$/;" v 799 | id_transfer main.c /^ id_transfer,$/;" v 800 | id_uart_cmd main.c /^ id_uart_cmd,$/;" v 801 | idxNum include/sqlite3.h /^ int idxNum; \/* Number used to identify the index *\/$/;" m struct:sqlite3_index_info 802 | idxNum sqlite3.h /^ int idxNum; \/* Number used to identify the index *\/$/;" m struct:sqlite3_index_info 803 | idxStr include/sqlite3.h /^ char *idxStr; \/* String, possibly obtained from sqlite3_malloc *\/$/;" m struct:sqlite3_index_info 804 | idxStr sqlite3.h /^ char *idxStr; \/* String, possibly obtained from sqlite3_malloc *\/$/;" m struct:sqlite3_index_info 805 | ill pthread_analysis.c /^ unsigned int ill;$/;" m struct:getEnvMsg file: 806 | illMAX pthread_client_request.c /^ int illMAX;$/;" m struct:setEnv file: 807 | illMIN pthread_client_request.c /^ int illMIN;$/;" m struct:setEnv file: 808 | ill_alarm_status pthread_analysis.c /^char ill_alarm_status[STORAGE_NUM] = {0};$/;" v 809 | illumination data_global.h /^ float illumination;$/;" m struct:storage_info 810 | illuminationMAX data_global.h /^ float illuminationMAX;$/;" m struct:storage_info 811 | illuminationMIN data_global.h /^ float illuminationMIN;$/;" m struct:storage_info 812 | info pthread_sms.c /^ char info[32]; \/\/信息长度$/;" m struct:Message file: 813 | init_sem sem.h /^int init_sem(int semid, int num, int val)$/;" f 814 | insertCollect_env pthread_sqlite.c /^int insertCollect_env (struct env_info_clien_addr env_info_clien_addr_t, int storage_num)$/;" f 815 | insertGoods pthread_sqlite.c /^int insertGoods (struct env_info_clien_addr env_info_clien_addr_t, int storageNum_t, int goodsKinds_t)$/;" f 816 | interruptx include/sqlite3ext.h /^ void (*interruptx)(sqlite3*);$/;" m struct:sqlite3_api_routines 817 | intpack dota_cache_test.c /^struct intpack$/;" s file: 818 | io pthread_analysis.c /^ unsigned char io;$/;" m struct:getGoodsMsg file: 819 | last_insert_rowid include/sqlite3ext.h /^ sqlite_int64 (*last_insert_rowid)(sqlite3*);$/;" m struct:sqlite3_api_routines 820 | led_status data_global.h /^ unsigned char led_status;$/;" m struct:storage_info 821 | libversion include/sqlite3ext.h /^ const char * (*libversion)(void);$/;" m struct:sqlite3_api_routines 822 | libversion_number include/sqlite3ext.h /^ int (*libversion_number)(void);$/;" m struct:sqlite3_api_routines 823 | limit include/sqlite3ext.h /^ int (*limit)(sqlite3*,int,int);$/;" m struct:sqlite3_api_routines 824 | linkHead link_list.c /^linklist linkHead, linkTail;$/;" v 825 | linkTail link_list.c /^linklist linkHead, linkTail;$/;" v 826 | link_datatype link_list.h /^}link_datatype;$/;" t typeref:struct:msg_pack 827 | linklist link_list.h /^}linknode, *linklist;$/;" t typeref:struct:_node_ 828 | linknode link_list.h /^}linknode, *linklist;$/;" t typeref:struct:_node_ 829 | m0_cache_head data_global.c /^dota_cache_list m0_cache_head, m0_cache_tail;$/;" v 830 | m0_cache_tail data_global.c /^dota_cache_list m0_cache_head, m0_cache_tail;$/;" v 831 | main dota_cache_test.c /^int main ()$/;" f 832 | main main.c /^int main(int argc, char **argv)$/;" f 833 | malloc include/sqlite3ext.h /^ void *(*malloc)(int);$/;" m struct:sqlite3_api_routines 834 | memory_highwater include/sqlite3ext.h /^ sqlite3_int64 (*memory_highwater)(int);$/;" m struct:sqlite3_api_routines 835 | memory_used include/sqlite3ext.h /^ sqlite3_int64 (*memory_used)(void);$/;" m struct:sqlite3_api_routines 836 | mprintf include/sqlite3ext.h /^ char * (*mprintf)(const char*,...);$/;" m struct:sqlite3_api_routines 837 | msg data_global.h /^struct msg$/;" s 838 | msg_pack link_list.h /^typedef struct msg_pack$/;" s 839 | msg_type link_list.h /^ char msg_type;$/;" m struct:msg_pack 840 | msgid data_global.c /^int msgid;$/;" v 841 | msgtype data_global.h /^ long msgtype;$/;" m struct:msg 842 | mutex_alloc include/sqlite3ext.h /^ sqlite3_mutex *(*mutex_alloc)(int);$/;" m struct:sqlite3_api_routines 843 | mutex_analysis data_global.c /^pthread_mutex_t mutex_analysis;$/;" v 844 | mutex_buzzer data_global.c /^pthread_mutex_t mutex_buzzer;$/;" v 845 | mutex_camera data_global.c /^pthread_mutex_t mutex_camera;$/;" v 846 | mutex_client_request data_global.c /^pthread_mutex_t mutex_client_request;$/;" v 847 | mutex_enter include/sqlite3ext.h /^ void (*mutex_enter)(sqlite3_mutex*);$/;" m struct:sqlite3_api_routines 848 | mutex_free include/sqlite3ext.h /^ void (*mutex_free)(sqlite3_mutex*);$/;" m struct:sqlite3_api_routines 849 | mutex_global data_global.c /^pthread_mutex_t mutex_global;$/;" v 850 | mutex_infrared data_global.c /^pthread_mutex_t mutex_infrared;$/;" v 851 | mutex_leave include/sqlite3ext.h /^ void (*mutex_leave)(sqlite3_mutex*);$/;" m struct:sqlite3_api_routines 852 | mutex_led data_global.c /^pthread_mutex_t mutex_led;$/;" v 853 | mutex_linklist data_global.c /^pthread_mutex_t mutex_linklist;$/;" v 854 | mutex_refresh data_global.c /^pthread_mutex_t mutex_refresh;$/;" v 855 | mutex_refresh_updata data_global.c /^pthread_mutex_t mutex_refresh_updata;$/;" v 856 | mutex_slinklist data_global.c /^pthread_mutex_t mutex_slinklist;$/;" v 857 | mutex_sms data_global.c /^pthread_mutex_t mutex_sms;$/;" v 858 | mutex_sqlite data_global.c /^pthread_mutex_t mutex_sqlite;$/;" v 859 | mutex_try include/sqlite3ext.h /^ int (*mutex_try)(sqlite3_mutex*);$/;" m struct:sqlite3_api_routines 860 | mutex_uart_cmd data_global.c /^pthread_mutex_t mutex_uart_cmd;$/;" v 861 | mxPathname include/sqlite3.h /^ int mxPathname; \/* Maximum file pathname length *\/$/;" m struct:sqlite3_vfs 862 | mxPathname sqlite3.h /^ int mxPathname; \/* Maximum file pathname length *\/$/;" m struct:sqlite3_vfs 863 | nConstraint include/sqlite3.h /^ int nConstraint; \/* Number of entries in aConstraint *\/$/;" m struct:sqlite3_index_info 864 | nConstraint sqlite3.h /^ int nConstraint; \/* Number of entries in aConstraint *\/$/;" m struct:sqlite3_index_info 865 | nOrderBy include/sqlite3.h /^ int nOrderBy; \/* Number of terms in the ORDER BY clause *\/$/;" m struct:sqlite3_index_info 866 | nOrderBy sqlite3.h /^ int nOrderBy; \/* Number of terms in the ORDER BY clause *\/$/;" m struct:sqlite3_index_info 867 | nParam include/sqlite3.h /^ int nParam; \/* Size of array aParam[] *\/$/;" m struct:sqlite3_rtree_geometry 868 | nParam sqlite3.h /^ int nParam; \/* Size of array aParam[] *\/$/;" m struct:sqlite3_rtree_geometry 869 | nRef include/sqlite3.h /^ int nRef; \/* NO LONGER USED *\/$/;" m struct:sqlite3_vtab 870 | nRef sqlite3.h /^ int nRef; \/* NO LONGER USED *\/$/;" m struct:sqlite3_vtab 871 | needToFreeIdxStr include/sqlite3.h /^ int needToFreeIdxStr; \/* Free idxStr using sqlite3_free() if true *\/$/;" m struct:sqlite3_index_info 872 | needToFreeIdxStr sqlite3.h /^ int needToFreeIdxStr; \/* Free idxStr using sqlite3_free() if true *\/$/;" m struct:sqlite3_index_info 873 | next dota_cache.h /^ struct _dota_node_ *next;$/;" m struct:_dota_node_ typeref:struct:_dota_node_::_dota_node_ 874 | next link_list.h /^ struct _node_ *next;$/;" m struct:_node_ typeref:struct:_node_::_node_ 875 | next sqlite_link_list.h /^ struct _snode_ *next;$/;" m struct:_snode_ typeref:struct:_snode_::_snode_ 876 | next_stmt include/sqlite3ext.h /^ sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 877 | omit include/sqlite3.h /^ unsigned char omit; \/* Do not code a test for this constraint *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint_usage 878 | omit sqlite3.h /^ unsigned char omit; \/* Do not code a test for this constraint *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint_usage 879 | op include/sqlite3.h /^ unsigned char op; \/* Constraint operator *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 880 | op sqlite3.h /^ unsigned char op; \/* Constraint operator *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 881 | open include/sqlite3ext.h /^ int (*open)(const char*,sqlite3**);$/;" m struct:sqlite3_api_routines 882 | open16 include/sqlite3ext.h /^ int (*open16)(const void*,sqlite3**);$/;" m struct:sqlite3_api_routines 883 | open_v2 include/sqlite3ext.h /^ int (*open_v2)(const char*,sqlite3**,int,const char*);$/;" m struct:sqlite3_api_routines 884 | orderByConsumed include/sqlite3.h /^ int orderByConsumed; \/* True if output is already ordered *\/$/;" m struct:sqlite3_index_info 885 | orderByConsumed sqlite3.h /^ int orderByConsumed; \/* True if output is already ordered *\/$/;" m struct:sqlite3_index_info 886 | overload_function include/sqlite3ext.h /^ int (*overload_function)(sqlite3*, const char *zFuncName, int nArg);$/;" m struct:sqlite3_api_routines 887 | pAppData include/sqlite3.h /^ void *pAppData; \/* Argument to xInit() and xShutdown() *\/$/;" m struct:sqlite3_mem_methods 888 | pAppData include/sqlite3.h /^ void *pAppData; \/* Pointer to application-specific data *\/$/;" m struct:sqlite3_vfs 889 | pAppData sqlite3.h /^ void *pAppData; \/* Argument to xInit() and xShutdown() *\/$/;" m struct:sqlite3_mem_methods 890 | pAppData sqlite3.h /^ void *pAppData; \/* Pointer to application-specific data *\/$/;" m struct:sqlite3_vfs 891 | pArg include/sqlite3.h /^ void *pArg;$/;" m struct:sqlite3_pcache_methods 892 | pArg sqlite3.h /^ void *pArg;$/;" m struct:sqlite3_pcache_methods 893 | pContext include/sqlite3.h /^ void *pContext; \/* Copy of pContext passed to s_r_g_c() *\/$/;" m struct:sqlite3_rtree_geometry 894 | pContext sqlite3.h /^ void *pContext; \/* Copy of pContext passed to s_r_g_c() *\/$/;" m struct:sqlite3_rtree_geometry 895 | pMethods include/sqlite3.h /^ const struct sqlite3_io_methods *pMethods; \/* Methods for an open file *\/$/;" m struct:sqlite3_file typeref:struct:sqlite3_file::sqlite3_io_methods 896 | pMethods sqlite3.h /^ const struct sqlite3_io_methods *pMethods; \/* Methods for an open file *\/$/;" m struct:sqlite3_file typeref:struct:sqlite3_file::sqlite3_io_methods 897 | pModule include/sqlite3.h /^ const sqlite3_module *pModule; \/* The module for this virtual table *\/$/;" m struct:sqlite3_vtab 898 | pModule sqlite3.h /^ const sqlite3_module *pModule; \/* The module for this virtual table *\/$/;" m struct:sqlite3_vtab 899 | pNext include/sqlite3.h /^ sqlite3_vfs *pNext; \/* Next registered VFS *\/$/;" m struct:sqlite3_vfs 900 | pNext sqlite3.h /^ sqlite3_vfs *pNext; \/* Next registered VFS *\/$/;" m struct:sqlite3_vfs 901 | pUser include/sqlite3.h /^ void *pUser; \/* Callback implementation user data *\/$/;" m struct:sqlite3_rtree_geometry 902 | pUser sqlite3.h /^ void *pUser; \/* Callback implementation user data *\/$/;" m struct:sqlite3_rtree_geometry 903 | pVtab include/sqlite3.h /^ sqlite3_vtab *pVtab; \/* Virtual table of this cursor *\/$/;" m struct:sqlite3_vtab_cursor 904 | pVtab sqlite3.h /^ sqlite3_vtab *pVtab; \/* Virtual table of this cursor *\/$/;" m struct:sqlite3_vtab_cursor 905 | phone_NUM pthread_sms.c /^}phone_NUM;$/;" v typeref:struct:From_to_send 906 | prepare include/sqlite3ext.h /^ int (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);$/;" m struct:sqlite3_api_routines 907 | prepare16 include/sqlite3ext.h /^ int (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);$/;" m struct:sqlite3_api_routines 908 | prepare16_v2 include/sqlite3ext.h /^ int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**);$/;" m struct:sqlite3_api_routines 909 | prepare_v2 include/sqlite3ext.h /^ int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**);$/;" m struct:sqlite3_api_routines 910 | profile include/sqlite3ext.h /^ void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void*);$/;" m struct:sqlite3_api_routines 911 | progress_handler include/sqlite3ext.h /^ void (*progress_handler)(sqlite3*,int,int(*)(void*),void*);$/;" m struct:sqlite3_api_routines 912 | pthread_analysis pthread_analysis.c /^void *pthread_analysis (void *arg)$/;" f 913 | pthread_buzzer pthread_buzzer.c /^void *pthread_buzzer (void *arg)$/;" f 914 | pthread_camera pthread_camera.c /^void *pthread_camera (void *arg)$/;" f 915 | pthread_client_request pthread_client_request.c /^void *pthread_client_request (void *arg)$/;" f 916 | pthread_infrared pthread_infrared.c /^void *pthread_infrared (void *arg)$/;" f 917 | pthread_led pthread_led.c /^void *pthread_led (void *arg)$/;" f 918 | pthread_refresh pthread_refresh.c /^void *pthread_refresh (void *arg)$/;" f 919 | pthread_sms pthread_sms.c /^void *pthread_sms(void *arg)$/;" f 920 | pthread_sqlite pthread_sqlite.c /^void *pthread_sqlite (void *arg)$/;" f 921 | pthread_transfer pthread_transfer.c /^void *pthread_transfer (void *arg)$/;" f 922 | pthread_uart_cmd pthread_uart_cmd.c /^void *pthread_uart_cmd (void *arg)$/;" f 923 | qt_status data_global.c /^char qt_status;$/;" v 924 | qt_status pthread_refresh.c /^ char qt_status;$/;" m struct:shm_addr file: 925 | randomness include/sqlite3ext.h /^ void (*randomness)(int,void*);$/;" m struct:sqlite3_api_routines 926 | realloc include/sqlite3ext.h /^ void *(*realloc)(void*,int);$/;" m struct:sqlite3_api_routines 927 | recive_phone data_global.c /^char recive_phone[12] = "15910397488";$/;" v 928 | reduceGoods pthread_sqlite.c /^int reduceGoods (struct env_info_clien_addr env_info_clien_addr_t, int storageNum_t, int goodsKinds_t)$/;" f 929 | release_memory include/sqlite3ext.h /^ int (*release_memory)(int);$/;" m struct:sqlite3_api_routines 930 | reset include/sqlite3ext.h /^ int (*reset)(sqlite3_stmt*pStmt);$/;" m struct:sqlite3_api_routines 931 | result_blob include/sqlite3ext.h /^ void (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 932 | result_double include/sqlite3ext.h /^ void (*result_double)(sqlite3_context*,double);$/;" m struct:sqlite3_api_routines 933 | result_error include/sqlite3ext.h /^ void (*result_error)(sqlite3_context*,const char*,int);$/;" m struct:sqlite3_api_routines 934 | result_error16 include/sqlite3ext.h /^ void (*result_error16)(sqlite3_context*,const void*,int);$/;" m struct:sqlite3_api_routines 935 | result_error_code include/sqlite3ext.h /^ void (*result_error_code)(sqlite3_context*,int);$/;" m struct:sqlite3_api_routines 936 | result_error_nomem include/sqlite3ext.h /^ void (*result_error_nomem)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 937 | result_error_toobig include/sqlite3ext.h /^ void (*result_error_toobig)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 938 | result_int include/sqlite3ext.h /^ void (*result_int)(sqlite3_context*,int);$/;" m struct:sqlite3_api_routines 939 | result_int64 include/sqlite3ext.h /^ void (*result_int64)(sqlite3_context*,sqlite_int64);$/;" m struct:sqlite3_api_routines 940 | result_null include/sqlite3ext.h /^ void (*result_null)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 941 | result_text include/sqlite3ext.h /^ void (*result_text)(sqlite3_context*,const char*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 942 | result_text16 include/sqlite3ext.h /^ void (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 943 | result_text16be include/sqlite3ext.h /^ void (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 944 | result_text16le include/sqlite3ext.h /^ void (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*));$/;" m struct:sqlite3_api_routines 945 | result_value include/sqlite3ext.h /^ void (*result_value)(sqlite3_context*,sqlite3_value*);$/;" m struct:sqlite3_api_routines 946 | result_zeroblob include/sqlite3ext.h /^ void (*result_zeroblob)(sqlite3_context*,int);$/;" m struct:sqlite3_api_routines 947 | rollback_hook include/sqlite3ext.h /^ void * (*rollback_hook)(sqlite3*,void(*)(void*),void*);$/;" m struct:sqlite3_api_routines 948 | rt_status pthread_refresh.c /^ struct env_info_clien_addr rt_status;$/;" m struct:shm_addr typeref:struct:shm_addr::env_info_clien_addr file: 949 | samplingTime data_global.h /^ char samplingTime[20];$/;" m struct:storage_info 950 | seg_status data_global.h /^ unsigned char seg_status;$/;" m struct:storage_info 951 | sem_p sem.h /^int sem_p(int semid, int num)$/;" f 952 | sem_v sem.h /^int sem_v(int semid, int num)$/;" f 953 | semid data_global.c /^int semid;$/;" v 954 | semun sem.h /^union semun {$/;" u 955 | send pthread_sms.c /^int send(int fd,char *cmgf,char *cmgs,char *message)\/\/发送函数,用于AT指令的发送$/;" f 956 | sendMsgQueue data_global.c /^void sendMsgQueue (long type, unsigned char text)$/;" f 957 | send_message pthread_sms.c /^int send_message(int dev_fd ,char *info)\/\/发送处理函数,处理字符串$/;" f 958 | serial_init pthread_transfer.c /^void serial_init(int fd)$/;" f 959 | setEnv pthread_client_request.c /^struct setEnv$/;" s file: 960 | setEnv pthread_sqlite.c /^int setEnv (float val, int dev_no_t, int no)$/;" f 961 | setEnv_s pthread_sqlite.c /^int setEnv_s (char *val, int no)$/;" f 962 | setLimit main.c /^void setLimit (int sto_no, float temMAX, float temMIN, float humMAX, float humMIN, float illMAX, float illMIN)$/;" f 963 | set_authorizer include/sqlite3ext.h /^ int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,const char*,const char*),void*);$/;" m struct:sqlite3_api_routines 964 | set_auxdata include/sqlite3ext.h /^ void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*));$/;" m struct:sqlite3_api_routines 965 | shm_addr pthread_refresh.c /^struct shm_addr$/;" s file: 966 | shmid data_global.c /^int shmid;$/;" v 967 | size pthread_sms.c /^ char size[4]; \/\/消息长度$/;" m struct:Message file: 968 | size_tal pthread_sms.c /^ char size_tal[16]; \/\/指令$/;" m struct:Message file: 969 | sleep include/sqlite3ext.h /^ int (*sleep)(int);$/;" m struct:sqlite3_api_routines 970 | slinkHead data_global.c /^slinklist slinkHead, slinkTail;$/;" v 971 | slinkTail data_global.c /^slinklist slinkHead, slinkTail;$/;" v 972 | slinklist sqlite_link_list.h /^}slinknode, *slinklist;$/;" t typeref:struct:_snode_ 973 | slinknode sqlite_link_list.h /^}slinknode, *slinklist;$/;" t typeref:struct:_snode_ 974 | snprintf include/sqlite3ext.h /^ char * (*snprintf)(int,char*,const char*,...);$/;" m struct:sqlite3_api_routines 975 | soft_heap_limit include/sqlite3ext.h /^ void (*soft_heap_limit)(int);$/;" m struct:sqlite3_api_routines 976 | sql include/sqlite3ext.h /^ const char *(*sql)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 977 | sqlite3 include/sqlite3.h /^typedef struct sqlite3 sqlite3;$/;" t typeref:struct:sqlite3 978 | sqlite3 sqlite3.h /^typedef struct sqlite3 sqlite3;$/;" t typeref:struct:sqlite3 979 | sqlite3_aggregate_context include/sqlite3ext.h 208;" d 980 | sqlite3_aggregate_count include/sqlite3ext.h 210;" d 981 | sqlite3_api_routines include/sqlite3ext.h /^struct sqlite3_api_routines {$/;" s 982 | sqlite3_api_routines include/sqlite3ext.h /^typedef struct sqlite3_api_routines sqlite3_api_routines;$/;" t typeref:struct:sqlite3_api_routines 983 | sqlite3_backup include/sqlite3.h /^typedef struct sqlite3_backup sqlite3_backup;$/;" t typeref:struct:sqlite3_backup 984 | sqlite3_backup sqlite3.h /^typedef struct sqlite3_backup sqlite3_backup;$/;" t typeref:struct:sqlite3_backup 985 | sqlite3_bind_blob include/sqlite3ext.h 212;" d 986 | sqlite3_bind_double include/sqlite3ext.h 213;" d 987 | sqlite3_bind_int include/sqlite3ext.h 214;" d 988 | sqlite3_bind_int64 include/sqlite3ext.h 215;" d 989 | sqlite3_bind_null include/sqlite3ext.h 216;" d 990 | sqlite3_bind_parameter_count include/sqlite3ext.h 217;" d 991 | sqlite3_bind_parameter_index include/sqlite3ext.h 218;" d 992 | sqlite3_bind_parameter_name include/sqlite3ext.h 219;" d 993 | sqlite3_bind_text include/sqlite3ext.h 220;" d 994 | sqlite3_bind_text16 include/sqlite3ext.h 221;" d 995 | sqlite3_bind_value include/sqlite3ext.h 222;" d 996 | sqlite3_bind_zeroblob include/sqlite3ext.h 338;" d 997 | sqlite3_blob include/sqlite3.h /^typedef struct sqlite3_blob sqlite3_blob;$/;" t typeref:struct:sqlite3_blob 998 | sqlite3_blob sqlite3.h /^typedef struct sqlite3_blob sqlite3_blob;$/;" t typeref:struct:sqlite3_blob 999 | sqlite3_blob_bytes include/sqlite3ext.h 339;" d 1000 | sqlite3_blob_close include/sqlite3ext.h 340;" d 1001 | sqlite3_blob_open include/sqlite3ext.h 341;" d 1002 | sqlite3_blob_read include/sqlite3ext.h 342;" d 1003 | sqlite3_blob_write include/sqlite3ext.h 343;" d 1004 | sqlite3_busy_handler include/sqlite3ext.h 223;" d 1005 | sqlite3_busy_timeout include/sqlite3ext.h 224;" d 1006 | sqlite3_callback include/sqlite3.h /^typedef int (*sqlite3_callback)(void*,int,char**, char**);$/;" t 1007 | sqlite3_callback sqlite3.h /^typedef int (*sqlite3_callback)(void*,int,char**, char**);$/;" t 1008 | sqlite3_changes include/sqlite3ext.h 225;" d 1009 | sqlite3_clear_bindings include/sqlite3ext.h 337;" d 1010 | sqlite3_close include/sqlite3ext.h 226;" d 1011 | sqlite3_collation_needed include/sqlite3ext.h 227;" d 1012 | sqlite3_collation_needed16 include/sqlite3ext.h 228;" d 1013 | sqlite3_column_blob include/sqlite3ext.h 229;" d 1014 | sqlite3_column_bytes include/sqlite3ext.h 230;" d 1015 | sqlite3_column_bytes16 include/sqlite3ext.h 231;" d 1016 | sqlite3_column_count include/sqlite3ext.h 232;" d 1017 | sqlite3_column_database_name include/sqlite3ext.h 233;" d 1018 | sqlite3_column_database_name16 include/sqlite3ext.h 234;" d 1019 | sqlite3_column_decltype include/sqlite3ext.h 235;" d 1020 | sqlite3_column_decltype16 include/sqlite3ext.h 236;" d 1021 | sqlite3_column_double include/sqlite3ext.h 237;" d 1022 | sqlite3_column_int include/sqlite3ext.h 238;" d 1023 | sqlite3_column_int64 include/sqlite3ext.h 239;" d 1024 | sqlite3_column_name include/sqlite3ext.h 240;" d 1025 | sqlite3_column_name16 include/sqlite3ext.h 241;" d 1026 | sqlite3_column_origin_name include/sqlite3ext.h 242;" d 1027 | sqlite3_column_origin_name16 include/sqlite3ext.h 243;" d 1028 | sqlite3_column_table_name include/sqlite3ext.h 244;" d 1029 | sqlite3_column_table_name16 include/sqlite3ext.h 245;" d 1030 | sqlite3_column_text include/sqlite3ext.h 246;" d 1031 | sqlite3_column_text16 include/sqlite3ext.h 247;" d 1032 | sqlite3_column_type include/sqlite3ext.h 248;" d 1033 | sqlite3_column_value include/sqlite3ext.h 249;" d 1034 | sqlite3_commit_hook include/sqlite3ext.h 250;" d 1035 | sqlite3_complete include/sqlite3ext.h 251;" d 1036 | sqlite3_complete16 include/sqlite3ext.h 252;" d 1037 | sqlite3_context include/sqlite3.h /^typedef struct sqlite3_context sqlite3_context;$/;" t typeref:struct:sqlite3_context 1038 | sqlite3_context sqlite3.h /^typedef struct sqlite3_context sqlite3_context;$/;" t typeref:struct:sqlite3_context 1039 | sqlite3_context_db_handle include/sqlite3ext.h 367;" d 1040 | sqlite3_create_collation include/sqlite3ext.h 253;" d 1041 | sqlite3_create_collation16 include/sqlite3ext.h 254;" d 1042 | sqlite3_create_collation_v2 include/sqlite3ext.h 344;" d 1043 | sqlite3_create_function include/sqlite3ext.h 255;" d 1044 | sqlite3_create_function16 include/sqlite3ext.h 256;" d 1045 | sqlite3_create_module include/sqlite3ext.h 257;" d 1046 | sqlite3_create_module_v2 include/sqlite3ext.h 258;" d 1047 | sqlite3_data_count include/sqlite3ext.h 259;" d 1048 | sqlite3_db_handle include/sqlite3ext.h 260;" d 1049 | sqlite3_declare_vtab include/sqlite3ext.h 261;" d 1050 | sqlite3_destructor_type include/sqlite3.h /^typedef void (*sqlite3_destructor_type)(void*);$/;" t 1051 | sqlite3_destructor_type sqlite3.h /^typedef void (*sqlite3_destructor_type)(void*);$/;" t 1052 | sqlite3_enable_shared_cache include/sqlite3ext.h 262;" d 1053 | sqlite3_errcode include/sqlite3ext.h 263;" d 1054 | sqlite3_errmsg include/sqlite3ext.h 264;" d 1055 | sqlite3_errmsg16 include/sqlite3ext.h 265;" d 1056 | sqlite3_exec include/sqlite3ext.h 266;" d 1057 | sqlite3_expired include/sqlite3ext.h 268;" d 1058 | sqlite3_extended_result_codes include/sqlite3ext.h 368;" d 1059 | sqlite3_file include/sqlite3.h /^struct sqlite3_file {$/;" s 1060 | sqlite3_file include/sqlite3.h /^typedef struct sqlite3_file sqlite3_file;$/;" t typeref:struct:sqlite3_file 1061 | sqlite3_file sqlite3.h /^struct sqlite3_file {$/;" s 1062 | sqlite3_file sqlite3.h /^typedef struct sqlite3_file sqlite3_file;$/;" t typeref:struct:sqlite3_file 1063 | sqlite3_file_control include/sqlite3ext.h 345;" d 1064 | sqlite3_finalize include/sqlite3ext.h 270;" d 1065 | sqlite3_free include/sqlite3ext.h 271;" d 1066 | sqlite3_free_table include/sqlite3ext.h 272;" d 1067 | sqlite3_get_autocommit include/sqlite3ext.h 273;" d 1068 | sqlite3_get_auxdata include/sqlite3ext.h 274;" d 1069 | sqlite3_get_table include/sqlite3ext.h 275;" d 1070 | sqlite3_global_recover include/sqlite3ext.h 277;" d 1071 | sqlite3_index_constraint include/sqlite3.h /^ struct sqlite3_index_constraint {$/;" s struct:sqlite3_index_info 1072 | sqlite3_index_constraint sqlite3.h /^ struct sqlite3_index_constraint {$/;" s struct:sqlite3_index_info 1073 | sqlite3_index_constraint_usage include/sqlite3.h /^ struct sqlite3_index_constraint_usage {$/;" s struct:sqlite3_index_info 1074 | sqlite3_index_constraint_usage sqlite3.h /^ struct sqlite3_index_constraint_usage {$/;" s struct:sqlite3_index_info 1075 | sqlite3_index_info include/sqlite3.h /^struct sqlite3_index_info {$/;" s 1076 | sqlite3_index_info include/sqlite3.h /^typedef struct sqlite3_index_info sqlite3_index_info;$/;" t typeref:struct:sqlite3_index_info 1077 | sqlite3_index_info sqlite3.h /^struct sqlite3_index_info {$/;" s 1078 | sqlite3_index_info sqlite3.h /^typedef struct sqlite3_index_info sqlite3_index_info;$/;" t typeref:struct:sqlite3_index_info 1079 | sqlite3_index_orderby include/sqlite3.h /^ struct sqlite3_index_orderby {$/;" s struct:sqlite3_index_info 1080 | sqlite3_index_orderby sqlite3.h /^ struct sqlite3_index_orderby {$/;" s struct:sqlite3_index_info 1081 | sqlite3_int64 include/sqlite3.h /^typedef sqlite_int64 sqlite3_int64;$/;" t 1082 | sqlite3_int64 sqlite3.h /^typedef sqlite_int64 sqlite3_int64;$/;" t 1083 | sqlite3_interrupt include/sqlite3ext.h 279;" d 1084 | sqlite3_io_methods include/sqlite3.h /^struct sqlite3_io_methods {$/;" s 1085 | sqlite3_io_methods include/sqlite3.h /^typedef struct sqlite3_io_methods sqlite3_io_methods;$/;" t typeref:struct:sqlite3_io_methods 1086 | sqlite3_io_methods sqlite3.h /^struct sqlite3_io_methods {$/;" s 1087 | sqlite3_io_methods sqlite3.h /^typedef struct sqlite3_io_methods sqlite3_io_methods;$/;" t typeref:struct:sqlite3_io_methods 1088 | sqlite3_last_insert_rowid include/sqlite3ext.h 280;" d 1089 | sqlite3_libversion include/sqlite3ext.h 281;" d 1090 | sqlite3_libversion_number include/sqlite3ext.h 282;" d 1091 | sqlite3_limit include/sqlite3ext.h 369;" d 1092 | sqlite3_malloc include/sqlite3ext.h 283;" d 1093 | sqlite3_mem_methods include/sqlite3.h /^struct sqlite3_mem_methods {$/;" s 1094 | sqlite3_mem_methods include/sqlite3.h /^typedef struct sqlite3_mem_methods sqlite3_mem_methods;$/;" t typeref:struct:sqlite3_mem_methods 1095 | sqlite3_mem_methods sqlite3.h /^struct sqlite3_mem_methods {$/;" s 1096 | sqlite3_mem_methods sqlite3.h /^typedef struct sqlite3_mem_methods sqlite3_mem_methods;$/;" t typeref:struct:sqlite3_mem_methods 1097 | sqlite3_memory_highwater include/sqlite3ext.h 346;" d 1098 | sqlite3_memory_used include/sqlite3ext.h 347;" d 1099 | sqlite3_module include/sqlite3.h /^struct sqlite3_module {$/;" s 1100 | sqlite3_module include/sqlite3.h /^typedef struct sqlite3_module sqlite3_module;$/;" t typeref:struct:sqlite3_module 1101 | sqlite3_module sqlite3.h /^struct sqlite3_module {$/;" s 1102 | sqlite3_module sqlite3.h /^typedef struct sqlite3_module sqlite3_module;$/;" t typeref:struct:sqlite3_module 1103 | sqlite3_mprintf include/sqlite3ext.h 284;" d 1104 | sqlite3_mutex include/sqlite3.h /^typedef struct sqlite3_mutex sqlite3_mutex;$/;" t typeref:struct:sqlite3_mutex 1105 | sqlite3_mutex sqlite3.h /^typedef struct sqlite3_mutex sqlite3_mutex;$/;" t typeref:struct:sqlite3_mutex 1106 | sqlite3_mutex_alloc include/sqlite3ext.h 348;" d 1107 | sqlite3_mutex_enter include/sqlite3ext.h 349;" d 1108 | sqlite3_mutex_free include/sqlite3ext.h 350;" d 1109 | sqlite3_mutex_leave include/sqlite3ext.h 351;" d 1110 | sqlite3_mutex_methods include/sqlite3.h /^struct sqlite3_mutex_methods {$/;" s 1111 | sqlite3_mutex_methods include/sqlite3.h /^typedef struct sqlite3_mutex_methods sqlite3_mutex_methods;$/;" t typeref:struct:sqlite3_mutex_methods 1112 | sqlite3_mutex_methods sqlite3.h /^struct sqlite3_mutex_methods {$/;" s 1113 | sqlite3_mutex_methods sqlite3.h /^typedef struct sqlite3_mutex_methods sqlite3_mutex_methods;$/;" t typeref:struct:sqlite3_mutex_methods 1114 | sqlite3_mutex_try include/sqlite3ext.h 352;" d 1115 | sqlite3_next_stmt include/sqlite3ext.h 370;" d 1116 | sqlite3_open include/sqlite3ext.h 285;" d 1117 | sqlite3_open16 include/sqlite3ext.h 286;" d 1118 | sqlite3_open_v2 include/sqlite3ext.h 353;" d 1119 | sqlite3_overload_function include/sqlite3ext.h 334;" d 1120 | sqlite3_pcache include/sqlite3.h /^typedef struct sqlite3_pcache sqlite3_pcache;$/;" t typeref:struct:sqlite3_pcache 1121 | sqlite3_pcache sqlite3.h /^typedef struct sqlite3_pcache sqlite3_pcache;$/;" t typeref:struct:sqlite3_pcache 1122 | sqlite3_pcache_methods include/sqlite3.h /^struct sqlite3_pcache_methods {$/;" s 1123 | sqlite3_pcache_methods include/sqlite3.h /^typedef struct sqlite3_pcache_methods sqlite3_pcache_methods;$/;" t typeref:struct:sqlite3_pcache_methods 1124 | sqlite3_pcache_methods sqlite3.h /^struct sqlite3_pcache_methods {$/;" s 1125 | sqlite3_pcache_methods sqlite3.h /^typedef struct sqlite3_pcache_methods sqlite3_pcache_methods;$/;" t typeref:struct:sqlite3_pcache_methods 1126 | sqlite3_prepare include/sqlite3ext.h 287;" d 1127 | sqlite3_prepare16 include/sqlite3ext.h 288;" d 1128 | sqlite3_prepare16_v2 include/sqlite3ext.h 290;" d 1129 | sqlite3_prepare16_v2 include/sqlite3ext.h 336;" d 1130 | sqlite3_prepare_v2 include/sqlite3ext.h 289;" d 1131 | sqlite3_prepare_v2 include/sqlite3ext.h 335;" d 1132 | sqlite3_profile include/sqlite3ext.h 291;" d 1133 | sqlite3_progress_handler include/sqlite3ext.h 292;" d 1134 | sqlite3_randomness include/sqlite3ext.h 366;" d 1135 | sqlite3_realloc include/sqlite3ext.h 293;" d 1136 | sqlite3_release_memory include/sqlite3ext.h 354;" d 1137 | sqlite3_reset include/sqlite3ext.h 294;" d 1138 | sqlite3_result_blob include/sqlite3ext.h 295;" d 1139 | sqlite3_result_double include/sqlite3ext.h 296;" d 1140 | sqlite3_result_error include/sqlite3ext.h 297;" d 1141 | sqlite3_result_error16 include/sqlite3ext.h 298;" d 1142 | sqlite3_result_error_code include/sqlite3ext.h 364;" d 1143 | sqlite3_result_error_nomem include/sqlite3ext.h 355;" d 1144 | sqlite3_result_error_toobig include/sqlite3ext.h 356;" d 1145 | sqlite3_result_int include/sqlite3ext.h 299;" d 1146 | sqlite3_result_int64 include/sqlite3ext.h 300;" d 1147 | sqlite3_result_null include/sqlite3ext.h 301;" d 1148 | sqlite3_result_text include/sqlite3ext.h 302;" d 1149 | sqlite3_result_text16 include/sqlite3ext.h 303;" d 1150 | sqlite3_result_text16be include/sqlite3ext.h 304;" d 1151 | sqlite3_result_text16le include/sqlite3ext.h 305;" d 1152 | sqlite3_result_value include/sqlite3ext.h 306;" d 1153 | sqlite3_result_zeroblob include/sqlite3ext.h 363;" d 1154 | sqlite3_rollback_hook include/sqlite3ext.h 307;" d 1155 | sqlite3_rtree_geometry include/sqlite3.h /^struct sqlite3_rtree_geometry {$/;" s 1156 | sqlite3_rtree_geometry include/sqlite3.h /^typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;$/;" t typeref:struct:sqlite3_rtree_geometry 1157 | sqlite3_rtree_geometry sqlite3.h /^struct sqlite3_rtree_geometry {$/;" s 1158 | sqlite3_rtree_geometry sqlite3.h /^typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;$/;" t typeref:struct:sqlite3_rtree_geometry 1159 | sqlite3_set_authorizer include/sqlite3ext.h 308;" d 1160 | sqlite3_set_auxdata include/sqlite3ext.h 309;" d 1161 | sqlite3_sleep include/sqlite3ext.h 357;" d 1162 | sqlite3_snprintf include/sqlite3ext.h 310;" d 1163 | sqlite3_soft_heap_limit include/sqlite3ext.h 358;" d 1164 | sqlite3_sql include/sqlite3ext.h 371;" d 1165 | sqlite3_status include/sqlite3ext.h 372;" d 1166 | sqlite3_step include/sqlite3ext.h 311;" d 1167 | sqlite3_stmt include/sqlite3.h /^typedef struct sqlite3_stmt sqlite3_stmt;$/;" t typeref:struct:sqlite3_stmt 1168 | sqlite3_stmt sqlite3.h /^typedef struct sqlite3_stmt sqlite3_stmt;$/;" t typeref:struct:sqlite3_stmt 1169 | sqlite3_table_column_metadata include/sqlite3ext.h 312;" d 1170 | sqlite3_temp_directory include/sqlite3.h /^SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory;$/;" v 1171 | sqlite3_temp_directory sqlite3.h /^SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory;$/;" v 1172 | sqlite3_test_control include/sqlite3ext.h 365;" d 1173 | sqlite3_thread_cleanup include/sqlite3ext.h 313;" d 1174 | sqlite3_threadsafe include/sqlite3ext.h 362;" d 1175 | sqlite3_total_changes include/sqlite3ext.h 314;" d 1176 | sqlite3_trace include/sqlite3ext.h 315;" d 1177 | sqlite3_transfer_bindings include/sqlite3ext.h 317;" d 1178 | sqlite3_uint64 include/sqlite3.h /^typedef sqlite_uint64 sqlite3_uint64;$/;" t 1179 | sqlite3_uint64 sqlite3.h /^typedef sqlite_uint64 sqlite3_uint64;$/;" t 1180 | sqlite3_update_hook include/sqlite3ext.h 319;" d 1181 | sqlite3_user_data include/sqlite3ext.h 320;" d 1182 | sqlite3_value include/sqlite3.h /^typedef struct Mem sqlite3_value;$/;" t typeref:struct:Mem 1183 | sqlite3_value sqlite3.h /^typedef struct Mem sqlite3_value;$/;" t typeref:struct:Mem 1184 | sqlite3_value_blob include/sqlite3ext.h 321;" d 1185 | sqlite3_value_bytes include/sqlite3ext.h 322;" d 1186 | sqlite3_value_bytes16 include/sqlite3ext.h 323;" d 1187 | sqlite3_value_double include/sqlite3ext.h 324;" d 1188 | sqlite3_value_int include/sqlite3ext.h 325;" d 1189 | sqlite3_value_int64 include/sqlite3ext.h 326;" d 1190 | sqlite3_value_numeric_type include/sqlite3ext.h 327;" d 1191 | sqlite3_value_text include/sqlite3ext.h 328;" d 1192 | sqlite3_value_text16 include/sqlite3ext.h 329;" d 1193 | sqlite3_value_text16be include/sqlite3ext.h 330;" d 1194 | sqlite3_value_text16le include/sqlite3ext.h 331;" d 1195 | sqlite3_value_type include/sqlite3ext.h 332;" d 1196 | sqlite3_version include/sqlite3.h /^SQLITE_API SQLITE_EXTERN const char sqlite3_version[];$/;" v 1197 | sqlite3_version sqlite3.h /^SQLITE_API SQLITE_EXTERN const char sqlite3_version[];$/;" v 1198 | sqlite3_vfs include/sqlite3.h /^struct sqlite3_vfs {$/;" s 1199 | sqlite3_vfs include/sqlite3.h /^typedef struct sqlite3_vfs sqlite3_vfs;$/;" t typeref:struct:sqlite3_vfs 1200 | sqlite3_vfs sqlite3.h /^struct sqlite3_vfs {$/;" s 1201 | sqlite3_vfs sqlite3.h /^typedef struct sqlite3_vfs sqlite3_vfs;$/;" t typeref:struct:sqlite3_vfs 1202 | sqlite3_vfs_find include/sqlite3ext.h 359;" d 1203 | sqlite3_vfs_register include/sqlite3ext.h 360;" d 1204 | sqlite3_vfs_unregister include/sqlite3ext.h 361;" d 1205 | sqlite3_vmprintf include/sqlite3ext.h 333;" d 1206 | sqlite3_vtab include/sqlite3.h /^struct sqlite3_vtab {$/;" s 1207 | sqlite3_vtab include/sqlite3.h /^typedef struct sqlite3_vtab sqlite3_vtab;$/;" t typeref:struct:sqlite3_vtab 1208 | sqlite3_vtab sqlite3.h /^struct sqlite3_vtab {$/;" s 1209 | sqlite3_vtab sqlite3.h /^typedef struct sqlite3_vtab sqlite3_vtab;$/;" t typeref:struct:sqlite3_vtab 1210 | sqlite3_vtab_cursor include/sqlite3.h /^struct sqlite3_vtab_cursor {$/;" s 1211 | sqlite3_vtab_cursor include/sqlite3.h /^typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor;$/;" t typeref:struct:sqlite3_vtab_cursor 1212 | sqlite3_vtab_cursor sqlite3.h /^struct sqlite3_vtab_cursor {$/;" s 1213 | sqlite3_vtab_cursor sqlite3.h /^typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor;$/;" t typeref:struct:sqlite3_vtab_cursor 1214 | sqlite_CreateEmptyLinklist sqlite_link_list.c /^slinklist sqlite_CreateEmptyLinklist ()$/;" f 1215 | sqlite_EmptyLinklist sqlite_link_list.c /^int sqlite_EmptyLinklist (slinklist h)$/;" f 1216 | sqlite_GetLinknode sqlite_link_list.c /^slinklist sqlite_GetLinknode (slinklist h)$/;" f 1217 | sqlite_InsertLinknode sqlite_link_list.c /^int sqlite_InsertLinknode (int operation, struct env_info_clien_addr y, $/;" f 1218 | sqlite_int64 include/sqlite3.h /^ typedef SQLITE_INT64_TYPE sqlite_int64;$/;" t 1219 | sqlite_int64 include/sqlite3.h /^ typedef __int64 sqlite_int64;$/;" t 1220 | sqlite_int64 include/sqlite3.h /^ typedef long long int sqlite_int64;$/;" t 1221 | sqlite_int64 sqlite3.h /^ typedef SQLITE_INT64_TYPE sqlite_int64;$/;" t 1222 | sqlite_int64 sqlite3.h /^ typedef __int64 sqlite_int64;$/;" t 1223 | sqlite_int64 sqlite3.h /^ typedef long long int sqlite_int64;$/;" t 1224 | sqlite_operation data_global.h /^struct sqlite_operation$/;" s 1225 | sqlite_task pthread_sqlite.c /^void sqlite_task (struct env_info_clien_addr env_info_clien_addr_t, struct sqlite_operation sqlite_operation_t, int storageNum_t, int goodsKinds_t)$/;" f 1226 | sqlite_uint64 include/sqlite3.h /^ typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;$/;" t 1227 | sqlite_uint64 include/sqlite3.h /^ typedef unsigned __int64 sqlite_uint64;$/;" t 1228 | sqlite_uint64 include/sqlite3.h /^ typedef unsigned long long int sqlite_uint64;$/;" t 1229 | sqlite_uint64 sqlite3.h /^ typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;$/;" t 1230 | sqlite_uint64 sqlite3.h /^ typedef unsigned __int64 sqlite_uint64;$/;" t 1231 | sqlite_uint64 sqlite3.h /^ typedef unsigned long long int sqlite_uint64;$/;" t 1232 | status include/sqlite3ext.h /^ int (*status)(int,int*,int*,int);$/;" m struct:sqlite3_api_routines 1233 | step include/sqlite3ext.h /^ int (*step)(sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 1234 | sto_no pthread_analysis.c /^ unsigned char sto_no;$/;" m struct:getEnvMsg file: 1235 | sto_no pthread_analysis.c /^ unsigned char sto_no;$/;" m struct:getGoodsMsg file: 1236 | storageAllgood pthread_analysis.c /^int storageAllgood (int sto_no)$/;" f 1237 | storageNum data_global.c /^int storageNum;$/;" v 1238 | storageNum sqlite_link_list.h /^ int storageNum;$/;" m struct:_snode_ 1239 | storage_RT data_global.c /^struct storage_info storage_RT[STORAGE_NUM];$/;" v typeref:struct:storage_info 1240 | storage_goods_info data_global.h /^struct storage_goods_info$/;" s 1241 | storage_info data_global.h /^struct storage_info$/;" s 1242 | storage_no data_global.h /^ struct storage_info storage_no[STORAGE_NUM]; $/;" m struct:env_info_clien_addr typeref:struct:env_info_clien_addr::storage_info 1243 | storage_status data_global.h /^ unsigned char storage_status; \/\/ 0:open 1:close$/;" m struct:storage_info 1244 | szOsFile include/sqlite3.h /^ int szOsFile; \/* Size of subclassed sqlite3_file *\/$/;" m struct:sqlite3_vfs 1245 | szOsFile sqlite3.h /^ int szOsFile; \/* Size of subclassed sqlite3_file *\/$/;" m struct:sqlite3_vfs 1246 | table_column_metadata include/sqlite3ext.h /^ int (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,char const**,char const**,int*,int*,int*);$/;" m struct:sqlite3_api_routines 1247 | table_operation_mask data_global.h /^ int table_operation_mask;$/;" m struct:sqlite_operation 1248 | table_select_mask data_global.h /^ int table_select_mask;$/;" m struct:sqlite_operation 1249 | tem pthread_analysis.c /^ unsigned char tem[2];$/;" m struct:getEnvMsg file: 1250 | temMAX pthread_client_request.c /^ int temMAX;$/;" m struct:setEnv file: 1251 | temMIN pthread_client_request.c /^ int temMIN;$/;" m struct:setEnv file: 1252 | tem_alarm_status pthread_analysis.c /^char tem_alarm_status[STORAGE_NUM] = {0};$/;" v 1253 | temperature data_global.h /^ float temperature;$/;" m struct:storage_info 1254 | temperatureMAX data_global.h /^ float temperatureMAX;$/;" m struct:storage_info 1255 | temperatureMIN data_global.h /^ float temperatureMIN;$/;" m struct:storage_info 1256 | test_control include/sqlite3ext.h /^ int (*test_control)(int, ...);$/;" m struct:sqlite3_api_routines 1257 | text data_global.h /^ unsigned char text[QUEUE_MSG_LEN];$/;" m struct:msg 1258 | text link_list.h /^ char text[27];$/;" m struct:msg_pack 1259 | thread_cleanup include/sqlite3ext.h /^ void (*thread_cleanup)(void);$/;" m struct:sqlite3_api_routines 1260 | to_number pthread_sms.c /^ char to_number[16];$/;" m struct:From_to_send file: 1261 | total_changes include/sqlite3ext.h /^ int (*total_changes)(sqlite3*);$/;" m struct:sqlite3_api_routines 1262 | trace include/sqlite3ext.h /^ void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*);$/;" m struct:sqlite3_api_routines 1263 | transfer_bindings include/sqlite3ext.h /^ int (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*);$/;" m struct:sqlite3_api_routines 1264 | type data_global.h /^ long type;$/;" m struct:msg 1265 | updateEnv pthread_sqlite.c /^int updateEnv (struct env_info_clien_addr env_info_clien_addr_t, int storageNum_t)$/;" f 1266 | update_hook include/sqlite3ext.h /^ void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,sqlite_int64),void*);$/;" m struct:sqlite3_api_routines 1267 | usable include/sqlite3.h /^ unsigned char usable; \/* True if this constraint is usable *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 1268 | usable sqlite3.h /^ unsigned char usable; \/* True if this constraint is usable *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint 1269 | user_data include/sqlite3ext.h /^ void * (*user_data)(sqlite3_context*);$/;" m struct:sqlite3_api_routines 1270 | val sem.h /^ int val; \/* Value for SETVAL *\/$/;" m union:semun 1271 | value_blob include/sqlite3ext.h /^ const void * (*value_blob)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1272 | value_bytes include/sqlite3ext.h /^ int (*value_bytes)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1273 | value_bytes16 include/sqlite3ext.h /^ int (*value_bytes16)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1274 | value_double include/sqlite3ext.h /^ double (*value_double)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1275 | value_int include/sqlite3ext.h /^ int (*value_int)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1276 | value_int64 include/sqlite3ext.h /^ sqlite_int64 (*value_int64)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1277 | value_numeric_type include/sqlite3ext.h /^ int (*value_numeric_type)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1278 | value_text include/sqlite3ext.h /^ const unsigned char * (*value_text)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1279 | value_text16 include/sqlite3ext.h /^ const void * (*value_text16)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1280 | value_text16be include/sqlite3ext.h /^ const void * (*value_text16be)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1281 | value_text16le include/sqlite3ext.h /^ const void * (*value_text16le)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1282 | value_type include/sqlite3ext.h /^ int (*value_type)(sqlite3_value*);$/;" m struct:sqlite3_api_routines 1283 | vfs_find include/sqlite3ext.h /^ sqlite3_vfs *(*vfs_find)(const char*);$/;" m struct:sqlite3_api_routines 1284 | vfs_register include/sqlite3ext.h /^ int (*vfs_register)(sqlite3_vfs*,int);$/;" m struct:sqlite3_api_routines 1285 | vfs_unregister include/sqlite3ext.h /^ int (*vfs_unregister)(sqlite3_vfs*);$/;" m struct:sqlite3_api_routines 1286 | viewGoods pthread_sqlite.c /^int viewGoods (int storageNum_t, int goodsKinds_t)$/;" f 1287 | vmprintf include/sqlite3ext.h /^ char *(*vmprintf)(const char*,va_list);$/;" m struct:sqlite3_api_routines 1288 | which pthread_sms.c /^ char which; \/\/消息模板$/;" m struct:Message file: 1289 | x data_global.h /^ signed char x;$/;" m struct:storage_info 1290 | x pthread_analysis.c /^ unsigned char x;$/;" m struct:getEnvMsg file: 1291 | xAccess include/sqlite3.h /^ int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut);$/;" m struct:sqlite3_vfs 1292 | xAccess sqlite3.h /^ int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut);$/;" m struct:sqlite3_vfs 1293 | xBegin include/sqlite3.h /^ int (*xBegin)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1294 | xBegin sqlite3.h /^ int (*xBegin)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1295 | xBestIndex include/sqlite3.h /^ int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);$/;" m struct:sqlite3_module 1296 | xBestIndex sqlite3.h /^ int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);$/;" m struct:sqlite3_module 1297 | xCachesize include/sqlite3.h /^ void (*xCachesize)(sqlite3_pcache*, int nCachesize);$/;" m struct:sqlite3_pcache_methods 1298 | xCachesize sqlite3.h /^ void (*xCachesize)(sqlite3_pcache*, int nCachesize);$/;" m struct:sqlite3_pcache_methods 1299 | xCheckReservedLock include/sqlite3.h /^ int (*xCheckReservedLock)(sqlite3_file*, int *pResOut);$/;" m struct:sqlite3_io_methods 1300 | xCheckReservedLock sqlite3.h /^ int (*xCheckReservedLock)(sqlite3_file*, int *pResOut);$/;" m struct:sqlite3_io_methods 1301 | xClose include/sqlite3.h /^ int (*xClose)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1302 | xClose include/sqlite3.h /^ int (*xClose)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1303 | xClose sqlite3.h /^ int (*xClose)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1304 | xClose sqlite3.h /^ int (*xClose)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1305 | xColumn include/sqlite3.h /^ int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int);$/;" m struct:sqlite3_module 1306 | xColumn sqlite3.h /^ int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int);$/;" m struct:sqlite3_module 1307 | xCommit include/sqlite3.h /^ int (*xCommit)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1308 | xCommit sqlite3.h /^ int (*xCommit)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1309 | xConnect include/sqlite3.h /^ int (*xConnect)(sqlite3*, void *pAux,$/;" m struct:sqlite3_module 1310 | xConnect sqlite3.h /^ int (*xConnect)(sqlite3*, void *pAux,$/;" m struct:sqlite3_module 1311 | xCreate include/sqlite3.h /^ int (*xCreate)(sqlite3*, void *pAux,$/;" m struct:sqlite3_module 1312 | xCreate include/sqlite3.h /^ sqlite3_pcache *(*xCreate)(int szPage, int bPurgeable);$/;" m struct:sqlite3_pcache_methods 1313 | xCreate sqlite3.h /^ int (*xCreate)(sqlite3*, void *pAux,$/;" m struct:sqlite3_module 1314 | xCreate sqlite3.h /^ sqlite3_pcache *(*xCreate)(int szPage, int bPurgeable);$/;" m struct:sqlite3_pcache_methods 1315 | xCurrentTime include/sqlite3.h /^ int (*xCurrentTime)(sqlite3_vfs*, double*);$/;" m struct:sqlite3_vfs 1316 | xCurrentTime sqlite3.h /^ int (*xCurrentTime)(sqlite3_vfs*, double*);$/;" m struct:sqlite3_vfs 1317 | xCurrentTimeInt64 include/sqlite3.h /^ int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*);$/;" m struct:sqlite3_vfs 1318 | xCurrentTimeInt64 sqlite3.h /^ int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*);$/;" m struct:sqlite3_vfs 1319 | xDelUser include/sqlite3.h /^ void (*xDelUser)(void *); \/* Called by SQLite to clean up pUser *\/$/;" m struct:sqlite3_rtree_geometry 1320 | xDelUser sqlite3.h /^ void (*xDelUser)(void *); \/* Called by SQLite to clean up pUser *\/$/;" m struct:sqlite3_rtree_geometry 1321 | xDelete include/sqlite3.h /^ int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir);$/;" m struct:sqlite3_vfs 1322 | xDelete sqlite3.h /^ int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir);$/;" m struct:sqlite3_vfs 1323 | xDestroy include/sqlite3.h /^ int (*xDestroy)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1324 | xDestroy include/sqlite3.h /^ void (*xDestroy)(sqlite3_pcache*);$/;" m struct:sqlite3_pcache_methods 1325 | xDestroy sqlite3.h /^ int (*xDestroy)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1326 | xDestroy sqlite3.h /^ void (*xDestroy)(sqlite3_pcache*);$/;" m struct:sqlite3_pcache_methods 1327 | xDeviceCharacteristics include/sqlite3.h /^ int (*xDeviceCharacteristics)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1328 | xDeviceCharacteristics sqlite3.h /^ int (*xDeviceCharacteristics)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1329 | xDisconnect include/sqlite3.h /^ int (*xDisconnect)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1330 | xDisconnect sqlite3.h /^ int (*xDisconnect)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1331 | xDlClose include/sqlite3.h /^ void (*xDlClose)(sqlite3_vfs*, void*);$/;" m struct:sqlite3_vfs 1332 | xDlClose sqlite3.h /^ void (*xDlClose)(sqlite3_vfs*, void*);$/;" m struct:sqlite3_vfs 1333 | xDlError include/sqlite3.h /^ void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg);$/;" m struct:sqlite3_vfs 1334 | xDlError sqlite3.h /^ void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg);$/;" m struct:sqlite3_vfs 1335 | xDlOpen include/sqlite3.h /^ void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename);$/;" m struct:sqlite3_vfs 1336 | xDlOpen sqlite3.h /^ void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename);$/;" m struct:sqlite3_vfs 1337 | xEof include/sqlite3.h /^ int (*xEof)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1338 | xEof sqlite3.h /^ int (*xEof)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1339 | xFetch include/sqlite3.h /^ void *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag);$/;" m struct:sqlite3_pcache_methods 1340 | xFetch sqlite3.h /^ void *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag);$/;" m struct:sqlite3_pcache_methods 1341 | xFileControl include/sqlite3.h /^ int (*xFileControl)(sqlite3_file*, int op, void *pArg);$/;" m struct:sqlite3_io_methods 1342 | xFileControl sqlite3.h /^ int (*xFileControl)(sqlite3_file*, int op, void *pArg);$/;" m struct:sqlite3_io_methods 1343 | xFileSize include/sqlite3.h /^ int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);$/;" m struct:sqlite3_io_methods 1344 | xFileSize sqlite3.h /^ int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);$/;" m struct:sqlite3_io_methods 1345 | xFilter include/sqlite3.h /^ int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,$/;" m struct:sqlite3_module 1346 | xFilter sqlite3.h /^ int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,$/;" m struct:sqlite3_module 1347 | xFindFunction include/sqlite3.h /^ int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,$/;" m struct:sqlite3_module 1348 | xFindFunction sqlite3.h /^ int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,$/;" m struct:sqlite3_module 1349 | xFree include/sqlite3.h /^ void (*xFree)(void*); \/* Free a prior allocation *\/$/;" m struct:sqlite3_mem_methods 1350 | xFree sqlite3.h /^ void (*xFree)(void*); \/* Free a prior allocation *\/$/;" m struct:sqlite3_mem_methods 1351 | xFullPathname include/sqlite3.h /^ int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut);$/;" m struct:sqlite3_vfs 1352 | xFullPathname sqlite3.h /^ int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut);$/;" m struct:sqlite3_vfs 1353 | xGetLastError include/sqlite3.h /^ int (*xGetLastError)(sqlite3_vfs*, int, char *);$/;" m struct:sqlite3_vfs 1354 | xGetLastError sqlite3.h /^ int (*xGetLastError)(sqlite3_vfs*, int, char *);$/;" m struct:sqlite3_vfs 1355 | xInit include/sqlite3.h /^ int (*xInit)(void*); \/* Initialize the memory allocator *\/$/;" m struct:sqlite3_mem_methods 1356 | xInit include/sqlite3.h /^ int (*xInit)(void*);$/;" m struct:sqlite3_pcache_methods 1357 | xInit sqlite3.h /^ int (*xInit)(void*); \/* Initialize the memory allocator *\/$/;" m struct:sqlite3_mem_methods 1358 | xInit sqlite3.h /^ int (*xInit)(void*);$/;" m struct:sqlite3_pcache_methods 1359 | xLock include/sqlite3.h /^ int (*xLock)(sqlite3_file*, int);$/;" m struct:sqlite3_io_methods 1360 | xLock sqlite3.h /^ int (*xLock)(sqlite3_file*, int);$/;" m struct:sqlite3_io_methods 1361 | xMalloc include/sqlite3.h /^ void *(*xMalloc)(int); \/* Memory allocation function *\/$/;" m struct:sqlite3_mem_methods 1362 | xMalloc sqlite3.h /^ void *(*xMalloc)(int); \/* Memory allocation function *\/$/;" m struct:sqlite3_mem_methods 1363 | xMutexAlloc include/sqlite3.h /^ sqlite3_mutex *(*xMutexAlloc)(int);$/;" m struct:sqlite3_mutex_methods 1364 | xMutexAlloc sqlite3.h /^ sqlite3_mutex *(*xMutexAlloc)(int);$/;" m struct:sqlite3_mutex_methods 1365 | xMutexEnd include/sqlite3.h /^ int (*xMutexEnd)(void);$/;" m struct:sqlite3_mutex_methods 1366 | xMutexEnd sqlite3.h /^ int (*xMutexEnd)(void);$/;" m struct:sqlite3_mutex_methods 1367 | xMutexEnter include/sqlite3.h /^ void (*xMutexEnter)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1368 | xMutexEnter sqlite3.h /^ void (*xMutexEnter)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1369 | xMutexFree include/sqlite3.h /^ void (*xMutexFree)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1370 | xMutexFree sqlite3.h /^ void (*xMutexFree)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1371 | xMutexHeld include/sqlite3.h /^ int (*xMutexHeld)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1372 | xMutexHeld sqlite3.h /^ int (*xMutexHeld)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1373 | xMutexInit include/sqlite3.h /^ int (*xMutexInit)(void);$/;" m struct:sqlite3_mutex_methods 1374 | xMutexInit sqlite3.h /^ int (*xMutexInit)(void);$/;" m struct:sqlite3_mutex_methods 1375 | xMutexLeave include/sqlite3.h /^ void (*xMutexLeave)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1376 | xMutexLeave sqlite3.h /^ void (*xMutexLeave)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1377 | xMutexNotheld include/sqlite3.h /^ int (*xMutexNotheld)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1378 | xMutexNotheld sqlite3.h /^ int (*xMutexNotheld)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1379 | xMutexTry include/sqlite3.h /^ int (*xMutexTry)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1380 | xMutexTry sqlite3.h /^ int (*xMutexTry)(sqlite3_mutex *);$/;" m struct:sqlite3_mutex_methods 1381 | xNext include/sqlite3.h /^ int (*xNext)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1382 | xNext sqlite3.h /^ int (*xNext)(sqlite3_vtab_cursor*);$/;" m struct:sqlite3_module 1383 | xOpen include/sqlite3.h /^ int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*,$/;" m struct:sqlite3_vfs 1384 | xOpen include/sqlite3.h /^ int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);$/;" m struct:sqlite3_module 1385 | xOpen sqlite3.h /^ int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*,$/;" m struct:sqlite3_vfs 1386 | xOpen sqlite3.h /^ int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);$/;" m struct:sqlite3_module 1387 | xPagecount include/sqlite3.h /^ int (*xPagecount)(sqlite3_pcache*);$/;" m struct:sqlite3_pcache_methods 1388 | xPagecount sqlite3.h /^ int (*xPagecount)(sqlite3_pcache*);$/;" m struct:sqlite3_pcache_methods 1389 | xRandomness include/sqlite3.h /^ int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut);$/;" m struct:sqlite3_vfs 1390 | xRandomness sqlite3.h /^ int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut);$/;" m struct:sqlite3_vfs 1391 | xRead include/sqlite3.h /^ int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst);$/;" m struct:sqlite3_io_methods 1392 | xRead sqlite3.h /^ int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst);$/;" m struct:sqlite3_io_methods 1393 | xRealloc include/sqlite3.h /^ void *(*xRealloc)(void*,int); \/* Resize an allocation *\/$/;" m struct:sqlite3_mem_methods 1394 | xRealloc sqlite3.h /^ void *(*xRealloc)(void*,int); \/* Resize an allocation *\/$/;" m struct:sqlite3_mem_methods 1395 | xRekey include/sqlite3.h /^ void (*xRekey)(sqlite3_pcache*, void*, unsigned oldKey, unsigned newKey);$/;" m struct:sqlite3_pcache_methods 1396 | xRekey sqlite3.h /^ void (*xRekey)(sqlite3_pcache*, void*, unsigned oldKey, unsigned newKey);$/;" m struct:sqlite3_pcache_methods 1397 | xRename include/sqlite3.h /^ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);$/;" m struct:sqlite3_module 1398 | xRename sqlite3.h /^ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);$/;" m struct:sqlite3_module 1399 | xRollback include/sqlite3.h /^ int (*xRollback)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1400 | xRollback sqlite3.h /^ int (*xRollback)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1401 | xRoundup include/sqlite3.h /^ int (*xRoundup)(int); \/* Round up request size to allocation size *\/$/;" m struct:sqlite3_mem_methods 1402 | xRoundup sqlite3.h /^ int (*xRoundup)(int); \/* Round up request size to allocation size *\/$/;" m struct:sqlite3_mem_methods 1403 | xRowid include/sqlite3.h /^ int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid);$/;" m struct:sqlite3_module 1404 | xRowid sqlite3.h /^ int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid);$/;" m struct:sqlite3_module 1405 | xSectorSize include/sqlite3.h /^ int (*xSectorSize)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1406 | xSectorSize sqlite3.h /^ int (*xSectorSize)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1407 | xShmBarrier include/sqlite3.h /^ void (*xShmBarrier)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1408 | xShmBarrier sqlite3.h /^ void (*xShmBarrier)(sqlite3_file*);$/;" m struct:sqlite3_io_methods 1409 | xShmLock include/sqlite3.h /^ int (*xShmLock)(sqlite3_file*, int offset, int n, int flags);$/;" m struct:sqlite3_io_methods 1410 | xShmLock sqlite3.h /^ int (*xShmLock)(sqlite3_file*, int offset, int n, int flags);$/;" m struct:sqlite3_io_methods 1411 | xShmMap include/sqlite3.h /^ int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**);$/;" m struct:sqlite3_io_methods 1412 | xShmMap sqlite3.h /^ int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**);$/;" m struct:sqlite3_io_methods 1413 | xShmUnmap include/sqlite3.h /^ int (*xShmUnmap)(sqlite3_file*, int deleteFlag);$/;" m struct:sqlite3_io_methods 1414 | xShmUnmap sqlite3.h /^ int (*xShmUnmap)(sqlite3_file*, int deleteFlag);$/;" m struct:sqlite3_io_methods 1415 | xShutdown include/sqlite3.h /^ void (*xShutdown)(void*); \/* Deinitialize the memory allocator *\/$/;" m struct:sqlite3_mem_methods 1416 | xShutdown include/sqlite3.h /^ void (*xShutdown)(void*);$/;" m struct:sqlite3_pcache_methods 1417 | xShutdown sqlite3.h /^ void (*xShutdown)(void*); \/* Deinitialize the memory allocator *\/$/;" m struct:sqlite3_mem_methods 1418 | xShutdown sqlite3.h /^ void (*xShutdown)(void*);$/;" m struct:sqlite3_pcache_methods 1419 | xSize include/sqlite3.h /^ int (*xSize)(void*); \/* Return the size of an allocation *\/$/;" m struct:sqlite3_mem_methods 1420 | xSize sqlite3.h /^ int (*xSize)(void*); \/* Return the size of an allocation *\/$/;" m struct:sqlite3_mem_methods 1421 | xSleep include/sqlite3.h /^ int (*xSleep)(sqlite3_vfs*, int microseconds);$/;" m struct:sqlite3_vfs 1422 | xSleep sqlite3.h /^ int (*xSleep)(sqlite3_vfs*, int microseconds);$/;" m struct:sqlite3_vfs 1423 | xSync include/sqlite3.h /^ int (*xSync)(sqlite3_file*, int flags);$/;" m struct:sqlite3_io_methods 1424 | xSync include/sqlite3.h /^ int (*xSync)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1425 | xSync sqlite3.h /^ int (*xSync)(sqlite3_file*, int flags);$/;" m struct:sqlite3_io_methods 1426 | xSync sqlite3.h /^ int (*xSync)(sqlite3_vtab *pVTab);$/;" m struct:sqlite3_module 1427 | xTruncate include/sqlite3.h /^ int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);$/;" m struct:sqlite3_io_methods 1428 | xTruncate include/sqlite3.h /^ void (*xTruncate)(sqlite3_pcache*, unsigned iLimit);$/;" m struct:sqlite3_pcache_methods 1429 | xTruncate sqlite3.h /^ int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);$/;" m struct:sqlite3_io_methods 1430 | xTruncate sqlite3.h /^ void (*xTruncate)(sqlite3_pcache*, unsigned iLimit);$/;" m struct:sqlite3_pcache_methods 1431 | xUnlock include/sqlite3.h /^ int (*xUnlock)(sqlite3_file*, int);$/;" m struct:sqlite3_io_methods 1432 | xUnlock sqlite3.h /^ int (*xUnlock)(sqlite3_file*, int);$/;" m struct:sqlite3_io_methods 1433 | xUnpin include/sqlite3.h /^ void (*xUnpin)(sqlite3_pcache*, void*, int discard);$/;" m struct:sqlite3_pcache_methods 1434 | xUnpin sqlite3.h /^ void (*xUnpin)(sqlite3_pcache*, void*, int discard);$/;" m struct:sqlite3_pcache_methods 1435 | xUpdate include/sqlite3.h /^ int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *);$/;" m struct:sqlite3_module 1436 | xUpdate sqlite3.h /^ int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *);$/;" m struct:sqlite3_module 1437 | xWrite include/sqlite3.h /^ int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst);$/;" m struct:sqlite3_io_methods 1438 | xWrite sqlite3.h /^ int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst);$/;" m struct:sqlite3_io_methods 1439 | xthreadsafe include/sqlite3ext.h /^ int (*xthreadsafe)(void);$/;" m struct:sqlite3_api_routines 1440 | y data_global.h /^ signed char y;$/;" m struct:storage_info 1441 | y pthread_analysis.c /^ unsigned char y;$/;" m struct:getEnvMsg file: 1442 | z data_global.h /^ signed char z;$/;" m struct:storage_info 1443 | z pthread_analysis.c /^ unsigned char z;$/;" m struct:getEnvMsg file: 1444 | zErrMsg include/sqlite3.h /^ char *zErrMsg; \/* Error message from sqlite3_mprintf() *\/$/;" m struct:sqlite3_vtab 1445 | zErrMsg sqlite3.h /^ char *zErrMsg; \/* Error message from sqlite3_mprintf() *\/$/;" m struct:sqlite3_vtab 1446 | zName include/sqlite3.h /^ const char *zName; \/* Name of this virtual file system *\/$/;" m struct:sqlite3_vfs 1447 | zName sqlite3.h /^ const char *zName; \/* Name of this virtual file system *\/$/;" m struct:sqlite3_vfs 1448 | --------------------------------------------------------------------------------