X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Ftest-framework%2Ftimothy_tests%2Fyaffs_and_linux_mirror_tests%2Flinux_test_write.c;fp=direct%2Ftest-framework%2Ftimothy_tests%2Fyaffs_and_linux_mirror_tests%2Flinux_test_write.c;h=b46c21133df294fd654660b70f1a6795b6736b09;hb=e5daa72b0083831ab762a650860687fe7d25d6b3;hp=0000000000000000000000000000000000000000;hpb=a78bce6f4a7042fa153ab32d2bb263ecf7d27b66;p=yaffs2.git diff --git a/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c new file mode 100644 index 0000000..b46c211 --- /dev/null +++ b/direct/test-framework/timothy_tests/yaffs_and_linux_mirror_tests/linux_test_write.c @@ -0,0 +1,37 @@ +/* + * YAFFS: Yet another FFS. A NAND-flash specific file system. + * + * Copyright (C) 2002-2011 Aleph One Ltd. + * for Toby Churchill Ltd and Brightstar Engineering + * + * Created by Timothy Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "linux_test_write.h" + +int linux_test_write(arg_temp *args_struct) +{ + char path[200]; + char message[200]; + int output=0; + int handle=-1; + join_paths(linux_struct.root_path,args_struct->string1, path ); + sprintf(message,"trying to write to: %s\nwith mode set to %o \n",path,args_struct->char1 ); + print_message(3,message); + printf("mode S_IREAD %d S_IWRITE %d\n",(args_struct->char2 & S_IREAD),(args_struct->char2 & S_IWRITE)); + handle=open(path,((args_struct->char1 &(O_TRUNC|O_EXCL|O_CREAT|O_APPEND))|O_RDWR),(args_struct->char2&(S_IREAD|S_IWRITE))); + printf("handle %d\n",handle); + if (handle<0){ + print_message(3,"failed to open a handle\n"); + return -1; //handle failed to open + } + sprintf(message,"trying to write: %d bytes into the file\n",strlen(args_struct->string2)); + print_message(3,message); + output=write(handle,args_struct->string2,strlen(args_struct->string2)); + close(handle); + return output; +}