Arduino as host for a USB device with C API

I'm trying to build a system to program on and control a motor. The motor can be connected(and powered) via USB to a PC and I can use some C API functions to control it on the PC. I just want to ask is it possible to embed the program in an Arduino board? It looks like I have to use the USB host shield on the arduino, but I'm not sure how I can make Arduino act like a port on PC and talk to the motor using those C APIs.

Thanks in advance!

I'm not sure what "C API" you have in mind?

The Arduino USB port emulates a serial device (COM port) by default, so that you can read and write characters with that port in any programming language.

DrDiettrich: I'm not sure what "C API" you have in mind?

The Arduino USB port emulates a serial device (COM port) by default, so that you can read and write characters with that port in any programming language.

I guess what I want to ask is that I can only make the motor move through the .dll files given by the motor manufacturer. So is there a way for the arduino to link those .dll files and talk to the motor?

Thanks!

The Arduino USB port acts only as a client, which cannot control other USB clients. And each USB client has its own kind, like the Arduino is a COM client, mice and keyboard are HID clients, and your motor can be another kind. An USB master must know how to handle each client type, what typically is implemented in loadable USB drivers on a PC. Your DLL files may include such an driver, and they can be used only with a Windows system on a PC. Or a Windows driver for the motor USB port has been installed during installation of the motor software.

So I see no way to let an Arduino control your motor over USB :-(

But an Arduino can control any motor, by means of a motor driver shield or module (H-bridge). You can disconnect everything from your motor, and connect it to such an Arduino motor driver, then you have full control over the motor.