Deleted Added
full compact
testcdev.c (48275) testcdev.c (66549)
1/* 08 Nov 1998*/
2/*
3 * testmisc.c
4 *
5 * Test program to call the sample loaded kld device driver.
6 *
7 * 05 Jun 93 Rajesh Vaidheeswarran Original
8 *

--- 53 unchanged lines hidden (view full) ---

62 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
63 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
64 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
65 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
66 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
67 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
68 * SUCH DAMAGE.
69 *
1/* 08 Nov 1998*/
2/*
3 * testmisc.c
4 *
5 * Test program to call the sample loaded kld device driver.
6 *
7 * 05 Jun 93 Rajesh Vaidheeswarran Original
8 *

--- 53 unchanged lines hidden (view full) ---

62 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
63 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
64 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
65 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
66 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
67 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
68 * SUCH DAMAGE.
69 *
70 *
71 * $FreeBSD: head/share/examples/kld/cdev/test/testcdev.c 66549 2000-10-02 14:14:07Z sobomax $
70 */
71#include <stdio.h>
72#include <fcntl.h>
72 */
73#include <stdio.h>
74#include <fcntl.h>
75#include <string.h>
73#include <sys/ioccom.h>
74
75#define CDEV_IOCTL1 _IOR('C', 1, u_int)
76#define CDEV_DEVICE "cdev"
77
76#include <sys/ioccom.h>
77
78#define CDEV_IOCTL1 _IOR('C', 1, u_int)
79#define CDEV_DEVICE "cdev"
80
81static char writestr[] = "Hello kernel!";
82static char buf[512+1];
83
78int
79main(int argc, char *argv[])
80{
81 int kernel_fd;
82 int one;
84int
85main(int argc, char *argv[])
86{
87 int kernel_fd;
88 int one;
89 int len;
83
90
84 if ((kernel_fd = open("/dev/" CDEV_DEVICE, O_RDONLY)) == -1) {
91 if ((kernel_fd = open("/dev/" CDEV_DEVICE, O_RDWR)) == -1) {
85 perror("/dev/" CDEV_DEVICE);
86 exit(1);
87 }
88
89 /* Send ioctl */
90 if (ioctl(kernel_fd, CDEV_IOCTL1, &one) == -1) {
91 perror("CDEV_IOCTL1");
92 } else {
93 printf( "Sent ioctl CDEV_IOCTL1 to device /dev/" CDEV_DEVICE "\n");
94 }
92 perror("/dev/" CDEV_DEVICE);
93 exit(1);
94 }
95
96 /* Send ioctl */
97 if (ioctl(kernel_fd, CDEV_IOCTL1, &one) == -1) {
98 perror("CDEV_IOCTL1");
99 } else {
100 printf( "Sent ioctl CDEV_IOCTL1 to device /dev/" CDEV_DEVICE "\n");
101 }
102
103 len = strlen(writestr) + 1;
104
105 /* Write operation */
106 if (write(kernel_fd, writestr, len) == -1) {
107 perror("write()");
108 } else {
109 printf("Written \"%s\" string to device /dev/" CDEV_DEVICE "\n", writestr);
110 }
111
112 /* Read operation */
113 if (read(kernel_fd, buf, len) == -1) {
114 perror("read()");
115 } else {
116 printf("Read \"%s\" string from device /dev/" CDEV_DEVICE "\n", buf);
117 }
118
95 exit(0);
96}
119 exit(0);
120}