void env_foreach(void (*c)(int,GCPtr), Environment *e) { if(e->env_map) env_map_foreach(c,e->env_map); if(e->parent) env_foreach(c,e); }
static ssize_t proc_groupenv(FAR struct proc_file_s *procfile, FAR struct tcb_s *tcb, FAR char *buffer, size_t buflen, off_t offset) { FAR struct task_group_s *group = tcb->group; struct proc_envinfo_s info; DEBUGASSERT(group != NULL); /* Initialize the info structure */ info.procfile = procfile; info.buffer = buffer; info.offset = offset; info.buflen = buflen; info.remaining = buflen; info.totalsize = 0; /* Generate output for each environment variable */ (void)env_foreach(group, proc_groupenv_callback, &info); return info.totalsize; }