You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#if !sort_h
#define sort_h 1
-#include "vfm.h"
+#include <stddef.h>
+#include "bool.h"
-/* SORT CASES programmatic interface. */
-int sort_cases (int separate);
-void read_sort_output (write_case_func *, write_case_data);
+struct casereader;
+struct dictionary;
+struct variable;
-/* Variables to sort. */
-extern struct variable **v_sort;
-extern int nv_sort;
+struct sort_criteria *sort_parse_criteria (const struct dictionary *,
+ struct variable ***, int *,
+ bool *saw_direction);
+void sort_destroy_criteria (struct sort_criteria *);
+
+struct casefile *sort_execute (struct casereader *,
+ const struct sort_criteria *);
+int sort_active_file_in_place (const struct sort_criteria *);
+struct casefile *sort_active_file_to_casefile (const struct sort_criteria *);
#endif /* !sort_h */