3 /* Copyright (C) 2009 Trend Micro Inc.
6 * This program is a free software; you can redistribute it
7 * and/or modify it under the terms of the GNU General Public
8 * License (version 2) as published by the FSF - Free Software
17 /** Checks if syscheck is to be executed/restarted.
18 * Returns 1 on success or 0 on failure (shouldn't be executed now).
20 int os_check_restart_syscheck()
22 struct stat restart_status;
24 /* If the restart is not present, return 0.
29 if(stat(SYSCHECK_RESTART, &restart_status) == -1)
32 unlink(SYSCHECK_RESTART);
36 if(stat(SYSCHECK_RESTART_PATH, &restart_status) == -1)
39 unlink(SYSCHECK_RESTART_PATH);
48 /** Sets syscheck to be restarted.
49 * Returns 1 on success or 0 on failure.
51 int os_set_restart_syscheck()
55 fp = fopen(SYSCHECK_RESTART, "w");
58 merror(FOPEN_ERROR, __local_name, SYSCHECK_RESTART);
62 fprintf(fp, "%s\n", SYSCHECK_RESTART);
71 /** char *os_read_agent_name()
72 * Reads the agent name for the current agent.
73 * Returns NULL on error.
75 char* os_read_agent_name()
81 fp = fopen(AGENT_INFO_FILE, "r");
83 fp = fopen(AGENT_INFO_FILEP, "r");
85 /* We give 1 second for the file to be created... */
91 fp = fopen(AGENT_INFO_FILE, "r");
93 fp = fopen(AGENT_INFO_FILEP, "r");
98 debug1(FOPEN_ERROR, __local_name, AGENT_INFO_FILE);
106 if(fgets(buf, 1024, fp))
121 /** char *os_read_agent_ip()
122 * Reads the agent ip for the current agent.
123 * Returns NULL on error.
125 char *os_read_agent_ip()
130 fp = fopen(AGENT_INFO_FILE, "r");
133 merror(FOPEN_ERROR, __local_name, AGENT_INFO_FILE);
141 if(fgets(buf, 1024, fp) && fgets(buf, 1024, fp))
156 /** char *os_read_agent_id()
157 * Reads the agent id for the current agent.
158 * Returns NULL on error.
160 char *os_read_agent_id()
165 fp = fopen(AGENT_INFO_FILE, "r");
168 merror(FOPEN_ERROR, __local_name, AGENT_INFO_FILE);
176 if(fgets(buf, 1024, fp) && fgets(buf, 1024, fp) && fgets(buf, 1024, fp))
191 /** int os_write_agent_info(char *agent_name, char *agent_ip, char *agent_id)
192 * Writes the agent info inside the queue, for the other processes to read.
193 * Returns 1 on success or <= 0 on failure.
195 int os_write_agent_info(char *agent_name, char *agent_ip, char *agent_id)
199 fp = fopen(AGENT_INFO_FILE, "w");
202 merror(FOPEN_ERROR, __local_name, AGENT_INFO_FILE);
206 fprintf(fp, "%s\n-\n%s\n", agent_name, agent_id);
213 int os_agent_config_changed()