Commit Graph

390 Commits

Author SHA1 Message Date
Axel Dörfler
4accd841c7 * Fixed a big bug in common_file_io_vec_pages(): vecOffset was not correctly
set when the first chunk of the file could be read in directly, causing it
  to read data to a wrong place in the buffer.
* Reading in the first chunk directly would have also only worked if vecIndex
  and vecOffset was 0 when calling the function.
* Applied the fs_shell changes in file_map to the kernel version as well (the
  constructor already worked correctly, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 14:04:15 +00:00
Axel Dörfler
87aa1668c9 * The file_map constructor would not set the size of the file_map object,
causing all reads with an offset unequal to 0 to fail.
* Also fixed file_map_translate() which was hiding this problem.
* Fixed build and warnings when compiled with debugging output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 13:21:00 +00:00
Jérôme Duval
a5d8db5d76 fix linux build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:40:33 +00:00
Axel Dörfler
21885de266 * BFS now always writes back the whole block when it writes the super block.
* Therefore, I've added an I/O control that let's it update the boot block
  part of this block, so that makebootable can use it on a mounted volume
  (this will probably be moved into a disk system API later).
* Added user_memcpy() to the fs_shell.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:23:35 +00:00
Axel Dörfler
d3a580d2e0 The fs_shell now also works with devices that don't return a correct
hd_geometry, but do support the BLKGETSIZE64 ioctl (it just crashed 
before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 18:33:58 +00:00
Axel Dörfler
d0007186e5 The fs_shell cache implementation had the same problem as our real cache
until r22998 - but since this was the only implementation, its consequences
were much more likely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 16:02:10 +00:00
Axel Dörfler
ddd1769901 The file map code isn't that smart yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 11:20:17 +00:00
Axel Dörfler
4a31d30e84 * The file map needs to know the actual file size to be able to know if it has
the complete extent info or not.
* file_map_translate() now cuts down the request to the file bounds.
* Adjusted BFS and FAT to the API changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 10:34:48 +00:00
Axel Dörfler
c98d35dc33 This might help with the build on Linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:46:57 +00:00
Axel Dörfler
3d268eda3d * Extracted file_map API out of the file cache - it's now an optional service
that can be used by file systems.
* Changed the way the file cache works: instead of reading/writing to the
  underlying device directly, it can now be used for any data source, ie.
  also network file systems.
* As a result, the former pages_io() moved to the VFS layer, and can now be
  called by a file system via {read|write}_file_io_vec_pages() (naming
  suggestions are always welcomed :-)). It now gets an FD, and uses that to
  communicate with the device (via its fs_{read|write}_pages() hooks).
* The file_cache_{read|write}() functions must now be called without holding
  an I/O relevant file system lock. That allows the file cache to prepare the
  pages without colliding with the page writer, IOW the "mayBlock" flag can
  go into the attic again (yay!).
* This also results in a much better performance when the system does I/O and
  is low on memory, as the page writer can now finally write back some pages,
  and that even without maxing out the CPU :)
* The API changes put slightly more burden on the fs_{read|write}_pages()
  hooks, but in combination with the file_map it's still pretty straight
  forward. It just will have to dispatch the call to the underlying device
  directly, usually it will just call its fs_{read|write}_pages() hooks
  via the above mentioned calls.
* Ported BFS and FAT to the new API, the latter has not been tested, though.
* Also ported the API changes to the fs_shell. I also completely removed its
  file cache level page handling - the downside is that device access is no
  longer cached (ie. depends on the host OS now), the upside is that the code
  is greatly simplified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:19:52 +00:00
Ingo Weinhold
57225f0367 * Moved helper function to check initialization parameters to separate
source file. Added function to check the volume name.
* Removed bfs_validate_initialize(). This functionality is to be implemented
  in a userland add-on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:33:47 +00:00
Ingo Weinhold
a2db5acb28 At least one file is C++, so we have to link against the C++ runtime.
Should fix the build on Darwin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-30 17:18:59 +00:00
François Revol
df05c21550 Default code for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:31:01 +00:00
Ingo Weinhold
db5c68ca46 * Added the partition size as parameter to the file and partitioning
system initialize() hooks. It's often the only info about the
  partition one needs and thus locking the partition just to get it is
  no longer necessary.
* intel partitioning system:
  - Removed passing around block sizes. We require 512 byte sectors
    anyway. In fact using the parent partition's block size was even
    wrong.
  - Simplified writing the partition map sector.
  - Simplified and corrected the partition map initialization.
  - We don't fail identifying a partition anymore, if the partition map
    contains no partitions. We would never identify a freshly
    initialized partition map before.
  - Made pm_identify() more intelligent: It determines the priority to
    return depending on whether the partition is the device itself and
    whether we have recognized child partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 23:48:18 +00:00
Jérôme Duval
ff386118f4 removed former haiku_book and headersampler tool
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 22:15:58 +00:00
Ingo Weinhold
8c8f8c8420 Added scan_partition() function which can be used by disk systems (e.g.
in *_initialize()) to save some work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 18:03:24 +00:00
Ingo Weinhold
6f05787478 * rootfs.c -> rootfs.cpp
* Made the kernel rootfs reusable by the FS Shell and removed the
  copy in the FS Shell sources.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 14:30:50 +00:00
Axel Dörfler
417f276c05 Forgot to commit the fs_shell with r22434, thanks for the note, Stefano!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 13:23:00 +00:00
Ingo Weinhold
32bf31b3ee Stricter limit for the number of unused vnodes. The fs_shell doesn't
really manage memory, so one could easily run out of memory when copying
large files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-19 20:14:50 +00:00
Ingo Weinhold
363d1373f4 We need to use _kern_open() on BeOS incompatible systems, if we want
to be able to open symlinks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-05 18:16:32 +00:00
Ingo Weinhold
fd51b44e2d * HostSymLink::fPath wasn't set to NULL by the constructor, which could
cause a segfault if Init() failed early.
* The -d (don't dereference symlinks) option of cp shall only take
  effect on the top level. When descending into directories, symlinks
  shall never be dereferenced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-05 03:06:04 +00:00
Ingo Weinhold
d249fa1b2c Map the fssh_*stat() functions to _kern_read_stat() in libroot_build on
BeOS incompatible platforms. Thus *stat()ing symlinks works.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-05 03:01:41 +00:00
Ingo Weinhold
35f57d15ff Support for compiling unzip as a build tool.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-04 19:04:48 +00:00
Ingo Weinhold
76a8ec23db * Added disk system flags for whether a partition name and partition
content name are supported.
* Added file_system_module_info::flags (analogously to
  partition_module_info::flags) which indicate which disk device
  features the FS supports.
* Replaced the
  file_system_module_info/partition_module_info::supports_*()
  hooks by a get_supported_operations() hook and for partitioning
  systems additionally a get_supported_child_operations() hook.
* Updated file and partitioning systems accordingly.
* Updated fs_shell accordingly.
* Updated the DDM accordingly. The syscall interface remains unchanged,
  though.
* _user_supports_initializing_partition() also checks whether the parent
  partitioning system is content now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 21:21:30 +00:00
Ingo Weinhold
2a39e9e44e Made the remote_disk_server build under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 14:54:09 +00:00
Ingo Weinhold
7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
Ingo Weinhold
da0f9ae040 Added Haiku as host platform supported by the build system ("haiku_host").
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:13:56 +00:00
Ingo Weinhold
9e12e9a72e * Added mapping of dup() in the FS shell.
* Adjusted the FS initialize() hook to have FD and partition_id
  parameters like the other hooks instead of the partition path.
* Adjusted initialization in BFS accordingly.
* Implemented the FS initialization method in KFileSystem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 12:43:49 +00:00
Ingo Weinhold
9b5ab44de9 Added switch "-a" to the FS shell's cp command. It turns on "attribute
only" mode, in which only the attributes from the source files are
copied to the (existing) target file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 23:11:16 +00:00
Ingo Weinhold
21bf59c6cd Be stricter in case of errors in loops. We do always fully fail now, if
an error occurs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 22:54:32 +00:00
Axel Dörfler
965b10ccaa * Fixed build under BeOS/Dano (only tried the latter, though).
* Does anybody know why HaikuBuildCompatibility.h is not included for tools when
  compiled on BeOS/Dano?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-23 00:15:45 +00:00
Ingo Weinhold
6a2dfcbd88 Fixed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:34:42 +00:00
Ingo Weinhold
1485d7a2d7 Added small tool source_to_data, which takes an arbitrary data file and
generates a C source file defining an array variable containing the file's
data. DataFileToSourceFile is the respective jam rule.

The idea is to directly built the boot archive into the boot loader for
network booting (and thus avoiding to download it from somewhere). In
case of PXE this doesn't work, though, due to restrictions to the size
of the NBP. Maybe Open Firmware is less restrictive.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:04:27 +00:00
Ingo Weinhold
679cd7d84b Temporary kludge to fix the build problem under BeOS regarding missing icons
for add-ons/libraries that don't have a signature. I threw our BAppFileInfo
code into libhaikucompat_build.a and link <build>mimeset and
<build>setversion against it, thus overriding the uncooperative BAppFileInfo
implementation in the host platform's libbe. Earlier or later we should use
libbe_build.so on BeOS compatible platforms as well, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 22:26:29 +00:00
Jérôme Duval
308771ff5d reverted to use __x86_64__ as it seems BeOSHostCompatibility header is not included for fs_shell
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 13:17:03 +00:00
Jérôme Duval
9cc679bb80 replaced uint32_t by fssh_addr_t. Obviously, the cookie should be managed differently.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 11:57:25 +00:00
Jérôme Duval
913f680ea2 followed Ingo's suggestion and introduced HAIKU_HOST_PLATFORM_64_BIT macro
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 11:51:49 +00:00
Jérôme Duval
a3ca7ebc40 x86_64 changes :
added atomic*64() functions
use int32 instead of long


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 10:50:18 +00:00
Ingo Weinhold
57ab8f6b30 Just go with the portable code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-15 18:23:28 +00:00
Ingo Weinhold
ee074918de Mostly aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-15 18:13:39 +00:00
Travis Geiselbrecht
b9a5b9a6ee fix the build on darwin:
-fs_shell was using weak aliases, which is apparently not supported on the darwin toolchain 
	(or it's supported in some different way)
-remove building strl* routines for some of the host tools, since that already exists in libSystem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 05:17:59 +00:00
Ingo Weinhold
cad7120f0c __attribute__(constructor) doesn't seem to work with gcc 2.95.3, so we
invoke driver_settings_init() manually now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-26 14:32:40 +00:00
Axel Dörfler
db8890ba1d * The mutex was obviously never initialized, and therefore mutex_unlock() panicked
here when trying to build Haiku.
* Also probably fixed a memory hole, at least how BFS is using delete_driver_settings();
  it might be a general problem of the implementation with regards to parse_driver_settings_string(),
  though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 14:38:59 +00:00
Axel Dörfler
e25a15c53b This fixes the build with GCC 2.95.3; hopefully it will work with GCC 4 as well as it looks like a compiler bug (at least I would guess typeof() is supposed to propagate the C linkage as well).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 08:24:25 +00:00
Ingo Weinhold
eedc15536c Added driver settings support to the FS shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 05:07:34 +00:00
Ingo Weinhold
362d99e715 Added fssh_read/write() implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 05:06:02 +00:00
Ingo Weinhold
53a79a4cde Patch by Morgan Howe: Support for building on Mac OS X. It should now be
possible to build a complete Haiku image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-19 15:01:11 +00:00
Ingo Weinhold
39bdbadf39 If the boot code couldn't be found in makebootable's resources, it tries
to load it from an attribute ("BootCode"). On Darwin we write the boot
code into this attribute. This should solve the problem that writing
resources into the makebootable file renders it not executable there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 17:33:21 +00:00
Ingo Weinhold
64ceaa002d Build addattr as a build tool as well. Needed for the new AddFileDataAttribute
rule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 16:55:33 +00:00
Ingo Weinhold
6dcd0ccf23 Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 15:59:04 +00:00
Ingo Weinhold
633a699447 Since I haven't got enough information to solve the missing LLONG_MAX
issue on some Linux distros by now, here's a work-around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:43:55 +00:00
Ingo Weinhold
e23824d781 Surprising how much gcc 4 compilers on Linux differ. Another attempt to
make both gcc 2.95.3 and the plethora of gcc 4s happy: Typedefed
struct fssh_stat to fssh_struct_stat, thus hopefully avoiding spurious
errors concerning clashes with the function or regarding namespacing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:41:12 +00:00
Ingo Weinhold
5ddfffd44a Removed left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 13:48:07 +00:00
Ingo Weinhold
21da033912 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:32:45 +00:00
Ingo Weinhold
047b4d3cc8 Patch by Samuel Rodriguez Perez (slightly modified): Make the new
bfs_shell build on FreeBSD. ioctl() is defined in a non-standard header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:16:00 +00:00
Ingo Weinhold
19d7a2a162 * Moved the syscalls into the FSShell namespace, so that they don't
collide with the functions defined in libroot_build.so.
* On BeOS incompatible platforms fssh_open() and fssh_close() use the
  libroot_build.so _kern_open() and _kern_close() respectively, so that the
  attribute support works also when using the generic attribute
  emulation.
* Use fssh_open()/fssh_close() instead of open()/close() for the cp
  command, so that we get attribute support on BeOS incompatible
  platforms when the generic attribute emulation is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:59:10 +00:00
Ingo Weinhold
8dcb250c8a Thou shall not leave a blank line between copyright header and header
guard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:26:29 +00:00
Ingo Weinhold
cc70cbe297 Reduced number of unused vnodes the VFS keeps around. We were hitting
the maximal number of (emulated) semphores on Linux before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:09:03 +00:00
Ingo Weinhold
84498b0ddc Incorrect vfs_put_vnode(). Missed that one when changing from
vfs_get_vnode() to vfs_lookup_vnode(). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:45:17 +00:00
Ingo Weinhold
46a92976fd Missed this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:13:36 +00:00
Ingo Weinhold
ca6586d9a3 Changed grist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:10:52 +00:00
Ingo Weinhold
d0a2ff1303 Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:07:54 +00:00
Ingo Weinhold
1fd66793e6 Link against libhaikucompat_build.a and the STL library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:26:19 +00:00
Ingo Weinhold
a3615ef1e2 * Fixed build under BeOS.
* Added "sync" command.
* The input_loop() notifies the external command client also, if parsing
  the command line failed or the command didn't exist. It doesn't no longer
  try do so, when in interactive mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:24:26 +00:00
Ingo Weinhold
655195fec9 Don't use headers/build headers under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:20:17 +00:00
Ingo Weinhold
c3c6ad0a0b BeOS build fixes:
* On BeOS compatible host platforms we must not include
  BeOSBuildCompatibility.h, but HaikuBuildCompatibility.h.
* Fixed errno usage in command_cp.cpp.
* Fixed fssh_ioctl().
* fssh_set_sem_owner() doesn't invoke BeOS's set_sem_owner() anymore or
  otherwise the FS's semaphores are assigned to the kernel.
* Commented out <string.h> functions that don't exist under BeOS (and aren't
  used anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:19:19 +00:00
Ingo Weinhold
4b32170efd Work-around for an obscure gcc 2.95.3 bug: It complained about ambiguity
of fssh_stat struct and function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:09:47 +00:00
Ingo Weinhold
b245b1a838 Missing POSIX macro under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:04:26 +00:00
Ingo Weinhold
6c19139d0e Fixed external command related code. Increased the command line length to
100 KB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:02:13 +00:00
Ingo Weinhold
aeb215184f Also quote the quoted string characters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:00:43 +00:00
Ingo Weinhold
dac7faad8d Added volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:22:22 +00:00
Ingo Weinhold
f6233d2330 * Quieted down success output.
* Added non-interactive (external commands) support. The BeOS
  implementation needs some more work; well, the whole FS shell will
  probably have build issues on BeOS ATM.
* Added reasonably complete argument processing in main(). Options are
  similar to the old FS shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:47:03 +00:00
Ingo Weinhold
3b8715d804 Provide a way to convert FS shell error codes to host platform error
codes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:40:04 +00:00
Ingo Weinhold
2842773aa5 Added support for changing the host platform cwd to the cd command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 21:34:54 +00:00
Ingo Weinhold
fd62d01f27 Add cp command source file too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:48:52 +00:00
Ingo Weinhold
1137bb03cc Added cp command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:47:50 +00:00
Ingo Weinhold
a9a4bc6e1c Copy'n'paste oversight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:46:58 +00:00
Ingo Weinhold
4f7504e31e * The command functions return actual error codes now.
* Added commands ln, mkdir, mkindex, rm.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 13:13:30 +00:00
Ingo Weinhold
c94089f5db Use vfs_lookup_vnode() instead of vfs_get_vnode() when creating a file
cache, so we don't run into a "vnode ... is not becoming unbusy"
problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:56:19 +00:00
Ingo Weinhold
a49b91c957 Segfault when panic()ing -- simplifies debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:54:41 +00:00
Ingo Weinhold
f7d4785d7a Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:53:22 +00:00
Ingo Weinhold
ada99c21af * Init kernel IO context.
* Added command management, an interactive input loop, and a few basic
  commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:33:23 +00:00
Ingo Weinhold
90c0876839 FS shell changes:
* Added basic built-in module support.
* Added rootfs.
* Added "kernel" initialization.
* Exposed the FS syscalls.
* Mounting/unmounting the FS works now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:37:01 +00:00
Ingo Weinhold
4fc054f504 POSIX strdup() is not required to handle a NULL argument gracefully (and
it doesn't under Linux), on BeOS it has to, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:26:04 +00:00
Ingo Weinhold
c391f84b2c * Prepared the BFS sources to be used with the new FS shell:
- Moved all inclusions of system headers into a new
    system_dependencies.h header, which conditionally either includes
    these or the FS shell headers.
  - Fixed compiler warnings related to printf-like functions (int32 is
    int, not long on non-BeOS platforms).
* Build a new bfs_shell. Compiles and links, but does nothing ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:25:49 +00:00
Ingo Weinhold
a38a92c955 Beginnings of a new, better portable FS shell with Haiku FS interface.
Doesn't do anything ATM, but already provides the required system
interface (VFS, caches, POSIX functions).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:17:22 +00:00
Ingo Weinhold
6b533670b9 Fixed build on R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:37:36 +00:00
Ingo Weinhold
402d77f655 Small tool to update the haiku revision in a special haiku revision
section of an ELF object. Probably won't build under BeOS yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:30:26 +00:00
Waldemar Kornewald
35f71eb445 Fixed build under Linux. Also tested on BeOS. Fixes bug #983.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 12:33:12 +00:00
Marcus Overhagen
3ff2441acf two additional savety checks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 00:05:39 +00:00
Marcus Overhagen
dea33357ec Commandline tool to write a vmware vmdk header to a haiku image file (space for the header has to be reserved)
Tested with VMware Player 1.0.3 on linux and works.

Can also be used to create a haiku.vmdk file from an existing haiku.image file:

rm haiku.vmdk
generated/objects/linux/x86/release/tools/vmdkheader/vmdkheader -h 64k -i100M haiku.vmdk
cat generated/haiku.image >>haiku.vmdk



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 23:52:57 +00:00
Marcus Overhagen
cdaaee9dba haiku-image build fix for TARGET_BOOT_PLATFORM=pxe_ia32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-26 20:29:26 +00:00
Ingo Weinhold
69b1f76d66 FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 18:08:00 +00:00
Axel Dörfler
bae87c9140 Added a new type for the vector icon format 'VICN' or B_VECTOR_ICON_TYPE.
It's hopefully now used everywhere instead of B_RAW_TYPE where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 02:46:25 +00:00
Axel Dörfler
f23596149e Added vector and PNG icon support to rc (PNG icons are not yet supported by the rest
of the system, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 12:08:24 +00:00
Axel Dörfler
33a44a136b <build>mimeset no longer uses the native update_mime_info() call on BeOS compatible
platforms. Instead, it uses the (extended) Linux compatibility layer classes, so that
it supports setting vector icons as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 17:00:39 +00:00
Stephan Aßmus
97e01beb46 * fixed typo in comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 09:37:36 +00:00
Marcus Overhagen
83bf699b3f some build fixes for pxe_ia32 platform
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-28 12:52:20 +00:00
Marcus Overhagen
456b127176 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18963 a95241bf-73f2-0310-859d-f6bbb57e9c96 2006-09-28 12:05:06 +00:00
Jérôme Duval
61b4dc2c64 improves the checks : now includes initializer, virtuals
style fixes
HeaderSampler.pl now outputs the good methodsynopsis content to copy/paste


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-15 13:56:32 +00:00