+gint sort_by_tid_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct processtop *n1 = *(struct processtop **)p1;
+ struct processtop *n2 = *(struct processtop **)p2;
+ unsigned long totaln1 = n1->tid;
+ unsigned long totaln2 = n2->tid;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_pid_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct processtop *n1 = *(struct processtop **)p1;
+ struct processtop *n2 = *(struct processtop **)p2;
+ unsigned long totaln1 = n1->pid;
+ unsigned long totaln2 = n2->pid;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_process_read_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct processtop *n1 = *(struct processtop **)p1;
+ struct processtop *n2 = *(struct processtop **)p2;
+ unsigned long totaln1 = n1->fileread;
+ unsigned long totaln2 = n2->fileread;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_process_write_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct processtop *n1 = *(struct processtop **)p1;
+ struct processtop *n2 = *(struct processtop **)p2;
+ unsigned long totaln1 = n1->filewrite;
+ unsigned long totaln2 = n2->filewrite;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_process_total_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct processtop *n1 = *(struct processtop **)p1;
+ struct processtop *n2 = *(struct processtop **)p2;
+ unsigned long totaln1 = n1->totalfilewrite + n1->totalfileread;
+ unsigned long totaln2 = n2->totalfilewrite + n2->totalfileread;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_file_read_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct files *n1 = *(struct files **)p1;
+ struct files *n2 = *(struct files **)p2;
+ unsigned long totaln1;
+ unsigned long totaln2;
+
+ totaln1 = n1->read;
+ totaln2 = n2->read;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_file_write_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct files *n1 = *(struct files **)p1;
+ struct files *n2 = *(struct files **)p2;
+ unsigned long totaln1;
+ unsigned long totaln2;
+
+ totaln1 = n1->write;
+ totaln2 = n2->write;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+
+gint sort_by_file_fd_desc(gconstpointer p1, gconstpointer p2)
+{
+ struct files *n1 = *(struct files **)p1;
+ struct files *n2 = *(struct files **)p2;
+ unsigned long totaln1;
+ unsigned long totaln2;
+
+ totaln1 = n1->fd;
+ totaln2 = n2->fd;
+
+ if (totaln1 < totaln2)
+ return 1;
+ if (totaln1 == totaln2)
+ return 0;
+ return -1;
+}
+