summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--procfs_nonpid_files.c18
-rw-r--r--procfs_pid_files.c7
2 files changed, 24 insertions, 1 deletions
diff --git a/procfs_nonpid_files.c b/procfs_nonpid_files.c
index 104ae8b3..ab1341ff 100644
--- a/procfs_nonpid_files.c
+++ b/procfs_nonpid_files.c
@@ -269,7 +269,7 @@ error_t procfs_write_nonpid_stat (struct dir_entry *dir_entry,
idle_time_secs = uptime_secs -
total_system_time_secs;
- /* If the values are multiplied by 100, it iss done so to adjust
+ /* If the values are multiplied by 100, it is done so to adjust
values in seconds to jiffies. */
if (asprintf (&stat_data, "cpu %ld %ld %ld %ld %ld %ld %d %d %d\n"
"cpu0 %ld %ld %ld %ld %ld %ld %d %d %d\n"
@@ -460,3 +460,19 @@ error_t procfs_write_nonpid_uptime (struct dir_entry *dir_entry,
free (uptime_data);
return err;
}
+
+error_t procfs_write_nonpid_version (struct dir_entry *dir_entry,
+ off_t offset, size_t *len, void *data)
+{
+ char *version_data;
+ error_t err = 0;
+
+ if (asprintf (&version_data, "Linux version 2.6.18\n", NULL) == -1)
+ return errno;
+
+ memcpy (data, version_data, strlen(version_data));
+ *len = strlen (data);
+
+ free (version_data);
+ return err;
+}
diff --git a/procfs_pid_files.c b/procfs_pid_files.c
index 55cc52c1..3ad77340 100644
--- a/procfs_pid_files.c
+++ b/procfs_pid_files.c
@@ -565,5 +565,12 @@ procfs_write_files_contents (struct node *node,
else
err = ENOENT;
+ if (! strcmp (node->nn->dir_entry->name, "version"))
+ if (! strcmp (node->nn->dir_entry->dir->fs_path, ""))
+ err = procfs_write_nonpid_version (node->nn->dir_entry,
+ offset, len, data);
+ else
+ err = ENOENT;
+
return err;
}