Ethernet programming (not MAC, LLC, but Preamble, SFD and FCS)

Hello everybody,
I've been working with raw sockets since long time ago. I've coded TCP/UDP, ICMP/IP and ARP applications, all resting encapsulated over relative "raw" ethernet frames; but in reality, Ethernet uses MAC addresses and LLC protocol codes (from layer 2) and that's the maximum access Berkeley socket API allows me to mess with.

So, I'm wondering, is it possible to code messing with real Ethernet fields, such as preamble, start frame delimiter and frame check sequence? I've been researching a little, but i didn't find anything concrete.

I'll appreciate any help with this, with all your programming experience.
Thanks in advance.

Preamble, SFD and FCS of ethernet frame are only meaningful to the hardware/driver and thats where they are handled. You can not generate them from userworld APIs like raw sockets (and alike). If you still want to mess with them for some reason you should write your own ethernet driver or modify existing one.