X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;ds=sidebyside;f=door_daemon%2Fcommand_queue.h;h=9d1ccc605b4c83bad69486be8a4c0c424b9b977c;hb=fdbf905e071e97b4079ff0a0ba7029135b234219;hp=0e87568cf398a4aa0dce992e70a074bcf141c353;hpb=b59052bce7db1296a8f567205036039c7c7cd121;p=svn42.git diff --git a/door_daemon/command_queue.h b/door_daemon/command_queue.h index 0e87568..9d1ccc6 100644 --- a/door_daemon/command_queue.h +++ b/door_daemon/command_queue.h @@ -6,8 +6,9 @@ * This file is part of door_daemon. * * door_daemon is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. * * door_daemon is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,18 +22,24 @@ #ifndef _COMMAND_QUEUE_H_ #define _COMMAND_QUEUE_H_ -enum cmd_id_enum { OPEN, CLOSE, TOGGLE, RESET, STATUS, LOG }; +#include + +enum cmd_id_enum { OPEN, CLOSE, TOGGLE, RESET, STATUS, LOG , LISTEN }; typedef enum cmd_id_enum cmd_id_t; struct cmd_struct { int fd; cmd_id_t cmd; char* param; + int sent; + struct timeval tv_start; struct cmd_struct* next; }; typedef struct cmd_struct cmd_t; int cmd_push(cmd_t** first, int fd, cmd_id_t cmd, const char* param); +void cmd_sent(cmd_t* cmd); +int cmd_has_expired(cmd_t cmd); void cmd_pop(cmd_t** first); void cmd_clear(cmd_t** first);