auto_bus/include/query.h

58 lines
1.0 KiB
C

//
// Created by ricardo on 2022/5/6.
//
#ifndef AUTO_PILOT_BUS_QUERY_H
#define AUTO_PILOT_BUS_QUERY_H
#include "stdlib.h"
#include "rail.h"
#include "define.h"
struct bus_query {
/**
* 请求产生的时间
*/
int time;
/**
* 请求的类型
*/
int type;
/**
* 请求产生/指向的站点
*/
rail_node_t *node;
/**
* 指向下一个请求的指针
*/
struct bus_query *next_node;
};
typedef struct bus_query bus_query_t;
/**
* 全局的请求链表头节点
*/
extern bus_query_t *queries;
/**
* 创建请求链表节点
* @param type 请求的类型
* @param node 请求产生/指向的站点
* @return 当前创建的链表节点地址
*/
bus_query_t *CreateQuery(int type, rail_node_t *node);
/**
* 删除请求
* @param target_query 需要删除的请求
*/
void DeleteQuery(bus_query_t *target_query);
/**
* 释放请求链表占据的空间
* @param head 请求链表的头节点
*/
void FreeQueries(bus_query_t *head);
#endif //AUTO_PILOT_BUS_QUERY_H