1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.ComponentModel;
8 public struct Unicode {
10 public static implicit operator Unicode(uint x)
12 return new Unicode{payload=x};
14 public static implicit operator uint(Unicode x)
20 namespace Eina { namespace Xattr {
21 /// <summary>Eina file extended attributes flags</summary>
24 /// <summary>This is the default behaviour, it will either create or replace the extended attribute</summary>
26 /// <summary>This will only succeed if the extended attribute previously existed</summary>
28 /// <summary>This will only succeed if the extended attribute wasn't previously set</summary>
33 /// <summary>A rectangle in pixel dimensions.</summary>
34 [StructLayout(LayoutKind.Sequential)]
37 /// <summary>X coordinate of the rectangle, from the top-left corner.</summary>
39 /// <summary>Y coordinate of the rectangle, from the top-left corner.</summary>
41 /// <summary>Width of the rectangle in pixels.</summary>
43 /// <summary>Height of the rectangle in pixels.</summary>
45 ///<summary>Constructor for Rect.</summary>
58 public static implicit operator Rect(IntPtr ptr)
60 var tmp = (Rect.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Rect.NativeStruct));
64 ///<summary>Internal wrapper for struct Rect.</summary>
65 [StructLayout(LayoutKind.Sequential)]
66 public struct NativeStruct
76 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
77 public static implicit operator Rect.NativeStruct(Rect _external_struct)
79 var _internal_struct = new Rect.NativeStruct();
80 _internal_struct.X = _external_struct.X;
81 _internal_struct.Y = _external_struct.Y;
82 _internal_struct.W = _external_struct.W;
83 _internal_struct.H = _external_struct.H;
84 return _internal_struct;
87 ///<summary>Implicit conversion to the managed representation.</summary>
88 public static implicit operator Rect(Rect.NativeStruct _internal_struct)
90 var _external_struct = new Rect();
91 _external_struct.X = _internal_struct.X;
92 _external_struct.Y = _internal_struct.Y;
93 _external_struct.W = _internal_struct.W;
94 _external_struct.H = _internal_struct.H;
95 return _external_struct;
104 /// <summary>A 2D location in pixels.</summary>
105 [StructLayout(LayoutKind.Sequential)]
106 public struct Position2D
108 /// <summary>X position in pixels, from the top-left corner.</summary>
110 /// <summary>Y position in pixels, from the top-left corner.</summary>
112 ///<summary>Constructor for Position2D.</summary>
121 public static implicit operator Position2D(IntPtr ptr)
123 var tmp = (Position2D.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Position2D.NativeStruct));
127 ///<summary>Internal wrapper for struct Position2D.</summary>
128 [StructLayout(LayoutKind.Sequential)]
129 public struct NativeStruct
135 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
136 public static implicit operator Position2D.NativeStruct(Position2D _external_struct)
138 var _internal_struct = new Position2D.NativeStruct();
139 _internal_struct.X = _external_struct.X;
140 _internal_struct.Y = _external_struct.Y;
141 return _internal_struct;
144 ///<summary>Implicit conversion to the managed representation.</summary>
145 public static implicit operator Position2D(Position2D.NativeStruct _internal_struct)
147 var _external_struct = new Position2D();
148 _external_struct.X = _internal_struct.X;
149 _external_struct.Y = _internal_struct.Y;
150 return _external_struct;
159 /// <summary>A 2D size in pixels.</summary>
160 [StructLayout(LayoutKind.Sequential)]
163 /// <summary>X position in pixels, from the top-left corner.</summary>
165 /// <summary>Y position in pixels, from the top-left corner.</summary>
167 ///<summary>Constructor for Size2D.</summary>
176 public static implicit operator Size2D(IntPtr ptr)
178 var tmp = (Size2D.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Size2D.NativeStruct));
182 ///<summary>Internal wrapper for struct Size2D.</summary>
183 [StructLayout(LayoutKind.Sequential)]
184 public struct NativeStruct
190 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
191 public static implicit operator Size2D.NativeStruct(Size2D _external_struct)
193 var _internal_struct = new Size2D.NativeStruct();
194 _internal_struct.W = _external_struct.W;
195 _internal_struct.H = _external_struct.H;
196 return _internal_struct;
199 ///<summary>Implicit conversion to the managed representation.</summary>
200 public static implicit operator Size2D(Size2D.NativeStruct _internal_struct)
202 var _external_struct = new Size2D();
203 _external_struct.W = _internal_struct.W;
204 _external_struct.H = _internal_struct.H;
205 return _external_struct;
214 /// <summary>Eina file data structure</summary>
215 [StructLayout(LayoutKind.Sequential)]
218 ///<summary>Placeholder field</summary>
220 public static implicit operator File(IntPtr ptr)
222 var tmp = (File.NativeStruct)Marshal.PtrToStructure(ptr, typeof(File.NativeStruct));
226 ///<summary>Internal wrapper for struct File.</summary>
227 [StructLayout(LayoutKind.Sequential)]
228 public struct NativeStruct
230 internal IntPtr field;
231 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
232 public static implicit operator File.NativeStruct(File _external_struct)
234 var _internal_struct = new File.NativeStruct();
235 return _internal_struct;
238 ///<summary>Implicit conversion to the managed representation.</summary>
239 public static implicit operator File(File.NativeStruct _internal_struct)
241 var _external_struct = new File();
242 return _external_struct;
251 /// <summary>A simple 2D vector type using floating point values.</summary>
252 [StructLayout(LayoutKind.Sequential)]
253 public struct Vector2
255 /// <summary>X coordinate.</summary>
257 /// <summary>Y coordinate.</summary>
259 ///<summary>Constructor for Vector2.</summary>
261 double X=default(double),
262 double Y=default(double) )
268 public static implicit operator Vector2(IntPtr ptr)
270 var tmp = (Vector2.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Vector2.NativeStruct));
274 ///<summary>Internal wrapper for struct Vector2.</summary>
275 [StructLayout(LayoutKind.Sequential)]
276 public struct NativeStruct
282 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
283 public static implicit operator Vector2.NativeStruct(Vector2 _external_struct)
285 var _internal_struct = new Vector2.NativeStruct();
286 _internal_struct.X = _external_struct.X;
287 _internal_struct.Y = _external_struct.Y;
288 return _internal_struct;
291 ///<summary>Implicit conversion to the managed representation.</summary>
292 public static implicit operator Vector2(Vector2.NativeStruct _internal_struct)
294 var _external_struct = new Vector2();
295 _external_struct.X = _internal_struct.X;
296 _external_struct.Y = _internal_struct.Y;
297 return _external_struct;
306 /// <summary>Eina 3x3 Matrix</summary>
307 [StructLayout(LayoutKind.Sequential)]
308 public struct Matrix3
310 /// <summary>XX matrix value</summary>
312 /// <summary>XY matrix value</summary>
314 /// <summary>XZ matrix value</summary>
316 /// <summary>YX matrix value</summary>
318 /// <summary>YY matrix value</summary>
320 /// <summary>YZ matrix value</summary>
322 /// <summary>ZX matrix value</summary>
324 /// <summary>ZY matrix value</summary>
326 /// <summary>ZZ matrix value</summary>
328 ///<summary>Constructor for Matrix3.</summary>
330 double Xx=default(double),
331 double Xy=default(double),
332 double Xz=default(double),
333 double Yx=default(double),
334 double Yy=default(double),
335 double Yz=default(double),
336 double Zx=default(double),
337 double Zy=default(double),
338 double Zz=default(double) )
351 public static implicit operator Matrix3(IntPtr ptr)
353 var tmp = (Matrix3.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Matrix3.NativeStruct));
357 ///<summary>Internal wrapper for struct Matrix3.</summary>
358 [StructLayout(LayoutKind.Sequential)]
359 public struct NativeStruct
379 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
380 public static implicit operator Matrix3.NativeStruct(Matrix3 _external_struct)
382 var _internal_struct = new Matrix3.NativeStruct();
383 _internal_struct.Xx = _external_struct.Xx;
384 _internal_struct.Xy = _external_struct.Xy;
385 _internal_struct.Xz = _external_struct.Xz;
386 _internal_struct.Yx = _external_struct.Yx;
387 _internal_struct.Yy = _external_struct.Yy;
388 _internal_struct.Yz = _external_struct.Yz;
389 _internal_struct.Zx = _external_struct.Zx;
390 _internal_struct.Zy = _external_struct.Zy;
391 _internal_struct.Zz = _external_struct.Zz;
392 return _internal_struct;
395 ///<summary>Implicit conversion to the managed representation.</summary>
396 public static implicit operator Matrix3(Matrix3.NativeStruct _internal_struct)
398 var _external_struct = new Matrix3();
399 _external_struct.Xx = _internal_struct.Xx;
400 _external_struct.Xy = _internal_struct.Xy;
401 _external_struct.Xz = _internal_struct.Xz;
402 _external_struct.Yx = _internal_struct.Yx;
403 _external_struct.Yy = _internal_struct.Yy;
404 _external_struct.Yz = _internal_struct.Yz;
405 _external_struct.Zx = _internal_struct.Zx;
406 _external_struct.Zy = _internal_struct.Zy;
407 _external_struct.Zz = _internal_struct.Zz;
408 return _external_struct;
417 /// <summary>Eina file direct information data structure</summary>
418 [StructLayout(LayoutKind.Sequential)]
419 public struct FileDirectInfo
421 ///<summary>Placeholder field</summary>
423 public static implicit operator FileDirectInfo(IntPtr ptr)
425 var tmp = (FileDirectInfo.NativeStruct)Marshal.PtrToStructure(ptr, typeof(FileDirectInfo.NativeStruct));
429 ///<summary>Internal wrapper for struct FileDirectInfo.</summary>
430 [StructLayout(LayoutKind.Sequential)]
431 public struct NativeStruct
433 internal IntPtr field;
434 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
435 public static implicit operator FileDirectInfo.NativeStruct(FileDirectInfo _external_struct)
437 var _internal_struct = new FileDirectInfo.NativeStruct();
438 return _internal_struct;
441 ///<summary>Implicit conversion to the managed representation.</summary>
442 public static implicit operator FileDirectInfo(FileDirectInfo.NativeStruct _internal_struct)
444 var _external_struct = new FileDirectInfo();
445 return _external_struct;
454 /// <summary>The structure to store some file statistics.</summary>
455 [StructLayout(LayoutKind.Sequential)]
458 /// <summary>The device where this file is located</summary>
460 /// <summary>The inode</summary>
462 /// <summary>The mode</summary>
464 /// <summary>The link number</summary>
466 /// <summary>The owner user id</summary>
468 /// <summary>The owner group id</summary>
470 /// <summary>The remote device</summary>
472 /// <summary>The file size in bytes</summary>
474 /// <summary>The block size in bytes</summary>
476 /// <summary>The number of blocks allocated</summary>
478 /// <summary>The tilestamp when the file was last accessed</summary>
480 /// <summary>The nano version of the timestmap when the file was last accessed</summary>
481 public uint Atimensec;
482 /// <summary>The tilestamp when the file was modified</summary>
484 /// <summary>The nano version of the timestmap when the file was modified</summary>
485 public uint Mtimensec;
486 /// <summary>The tilestamp when the file was created</summary>
488 /// <summary>The nano version of the timestmap when the file was created</summary>
489 public uint Ctimensec;
490 ///<summary>Constructor for Stat.</summary>
492 uint Dev=default(uint),
493 uint Ino=default(uint),
494 uint Mode=default(uint),
495 uint Nlink=default(uint),
496 uint Uid=default(uint),
497 uint Gid=default(uint),
498 uint Rdev=default(uint),
499 uint Size=default(uint),
500 uint Blksize=default(uint),
501 uint Blocks=default(uint),
502 uint Atime=default(uint),
503 uint Atimensec=default(uint),
504 uint Mtime=default(uint),
505 uint Mtimensec=default(uint),
506 uint Ctime=default(uint),
507 uint Ctimensec=default(uint) )
517 this.Blksize = Blksize;
518 this.Blocks = Blocks;
520 this.Atimensec = Atimensec;
522 this.Mtimensec = Mtimensec;
524 this.Ctimensec = Ctimensec;
527 public static implicit operator Stat(IntPtr ptr)
529 var tmp = (Stat.NativeStruct)Marshal.PtrToStructure(ptr, typeof(Stat.NativeStruct));
533 ///<summary>Internal wrapper for struct Stat.</summary>
534 [StructLayout(LayoutKind.Sequential)]
535 public struct NativeStruct
560 public uint Atimensec;
564 public uint Mtimensec;
568 public uint Ctimensec;
569 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
570 public static implicit operator Stat.NativeStruct(Stat _external_struct)
572 var _internal_struct = new Stat.NativeStruct();
573 _internal_struct.Dev = _external_struct.Dev;
574 _internal_struct.Ino = _external_struct.Ino;
575 _internal_struct.Mode = _external_struct.Mode;
576 _internal_struct.Nlink = _external_struct.Nlink;
577 _internal_struct.Uid = _external_struct.Uid;
578 _internal_struct.Gid = _external_struct.Gid;
579 _internal_struct.Rdev = _external_struct.Rdev;
580 _internal_struct.Size = _external_struct.Size;
581 _internal_struct.Blksize = _external_struct.Blksize;
582 _internal_struct.Blocks = _external_struct.Blocks;
583 _internal_struct.Atime = _external_struct.Atime;
584 _internal_struct.Atimensec = _external_struct.Atimensec;
585 _internal_struct.Mtime = _external_struct.Mtime;
586 _internal_struct.Mtimensec = _external_struct.Mtimensec;
587 _internal_struct.Ctime = _external_struct.Ctime;
588 _internal_struct.Ctimensec = _external_struct.Ctimensec;
589 return _internal_struct;
592 ///<summary>Implicit conversion to the managed representation.</summary>
593 public static implicit operator Stat(Stat.NativeStruct _internal_struct)
595 var _external_struct = new Stat();
596 _external_struct.Dev = _internal_struct.Dev;
597 _external_struct.Ino = _internal_struct.Ino;
598 _external_struct.Mode = _internal_struct.Mode;
599 _external_struct.Nlink = _internal_struct.Nlink;
600 _external_struct.Uid = _internal_struct.Uid;
601 _external_struct.Gid = _internal_struct.Gid;
602 _external_struct.Rdev = _internal_struct.Rdev;
603 _external_struct.Size = _internal_struct.Size;
604 _external_struct.Blksize = _internal_struct.Blksize;
605 _external_struct.Blocks = _internal_struct.Blocks;
606 _external_struct.Atime = _internal_struct.Atime;
607 _external_struct.Atimensec = _internal_struct.Atimensec;
608 _external_struct.Mtime = _internal_struct.Mtime;
609 _external_struct.Mtimensec = _internal_struct.Mtimensec;
610 _external_struct.Ctime = _internal_struct.Ctime;
611 _external_struct.Ctimensec = _internal_struct.Ctimensec;
612 return _external_struct;