Lines Matching defs:store
101 static void init_timestamp(struct utmpx *store, usec_t t) {
102 assert(store);
107 store->ut_tv.tv_sec = t / USEC_PER_SEC;
108 store->ut_tv.tv_usec = t % USEC_PER_SEC;
111 static void init_entry(struct utmpx *store, usec_t t) {
114 assert(store);
116 init_timestamp(store, t);
119 strncpy(store->ut_host, uts.release, sizeof(store->ut_host));
121 strncpy(store->ut_line, "~", sizeof(store->ut_line)); /* or ~~ ? */
122 strncpy(store->ut_id, "~~", sizeof(store->ut_id));
125 static int write_entry_utmp(const struct utmpx *store) {
128 assert(store);
139 if (!pututxline(store))
149 static int write_entry_wtmp(const struct utmpx *store) {
150 assert(store);
156 updwtmpx(_PATH_WTMPX, store);
177 static int write_entry_both(const struct utmpx *store) {
178 return write_utmp_wtmp(store, store);
182 struct utmpx store = {};
184 init_entry(&store, 0);
186 store.ut_type = RUN_LVL;
187 strncpy(store.ut_user, "shutdown", sizeof(store.ut_user));
189 return write_entry_both(&store);
193 struct utmpx store = {};
195 init_entry(&store, t);
197 store.ut_type = BOOT_TIME;
198 strncpy(store.ut_user, "reboot", sizeof(store.ut_user));
200 return write_entry_both(&store);
216 struct utmpx store = {
225 init_timestamp(&store, 0);
228 strncpy(store.ut_id, sanitize_id(id), sizeof(store.ut_id));
231 strncpy(store.ut_line, basename(line), sizeof(store.ut_line));
233 r = write_entry_both(&store);
238 store.ut_type = LOGIN_PROCESS;
239 r = write_entry_both(&store);
245 store.ut_type = USER_PROCESS;
246 strncpy(store.ut_user, user, sizeof(store.ut_user)-1);
247 r = write_entry_both(&store);
258 }, store, store_wtmp, *found;
274 memcpy(&store, found, sizeof(store));
275 store.ut_type = DEAD_PROCESS;
276 store.ut_exit.e_termination = code;
277 store.ut_exit.e_exit = status;
279 zero(store.ut_user);
280 zero(store.ut_host);
281 zero(store.ut_tv);
283 memcpy(&store_wtmp, &store, sizeof(store_wtmp));
287 return write_utmp_wtmp(&store, &store_wtmp);
292 struct utmpx store = {};
312 init_entry(&store, 0);
314 store.ut_type = RUN_LVL;
315 store.ut_pid = (runlevel & 0xFF) | ((previous & 0xFF) << 8);
316 strncpy(store.ut_user, "runlevel", sizeof(store.ut_user));
318 return write_entry_both(&store);